.nox-mascot{touch-action:pan-y;isolation:isolate;--gaze-x:0px;--gaze-y:0px;--pet-lean:0deg;overflow:visible}.nox-flight,.nox-float,.nox-squish,.nox-pet-lean,.nox-face,.nox-arm,.nox-blink,.nox-open-eyes{transform-box:view-box}.nox-float{transform-origin:70px 103px;animation:5.8s cubic-bezier(.45,.05,.55,.95) infinite nox-hover}.nox-squish{transform-origin:70px 113px;animation:5.8s ease-in-out infinite nox-breathe}.nox-pet-lean{transform-origin:70px 105px;transition:transform .45s cubic-bezier(.22,1,.36,1)}.nox-shadow{transform-origin:70px 126px;animation:5.8s ease-in-out infinite nox-shadow-breathe}.nox-face{transform-origin:75px 88px;transition:transform .35s}.nox-mascot.attentive:not(.petted):not(.flying) .nox-face{transform:translateY(-.8px)}.nox-gaze{transform:translate(var(--gaze-x), var(--gaze-y))}.nox-blink{transform-origin:76px 80px;animation:7.9s linear infinite nox-soft-blink;animation-delay:var(--blink-offset,0s)}.nox-open-eyes{transform-origin:76px 80px;transition:transform .24s,opacity .18s}.nox-content-eyes,.nox-wink-eye,.nox-brows{display:none}.nox-content-eyes{opacity:0;transition:opacity .18s,transform .3s;display:block}.nox-eye-left{transition:opacity .15s}.nox-cheeks{opacity:.24;transition:opacity .4s}.nox-mouth .nox-mouth-shape{opacity:0;transition:opacity .18s}.nox-mascot:is(.expression-calm,.expression-curious,.expression-wink) .mouth-smile,.nox-mascot:is(.expression-happy,.expression-welcome) .mouth-joy,.nox-mascot.expression-thinking .mouth-think,.nox-mascot:is(.expression-surprised,.expression-sleepy) .mouth-o,.nox-mascot.expression-content .mouth-content{opacity:1}.nox-mascot:is(.expression-curious,.expression-thinking,.expression-surprised) .nox-brows{opacity:.72;display:block}.nox-mascot.expression-curious .nox-brows{transform-origin:76px 65px;transform:rotate(-4deg)}.nox-mascot.expression-surprised .nox-brows{transform:translateY(-3px)}.nox-thought{opacity:0;transition:opacity .3s}.nox-mascot.thinking .nox-thought{opacity:.8;animation:3.8s ease-in-out infinite nox-thought-pulse}.nox-arm{transition:transform .4s cubic-bezier(.22,1,.36,1)}.nox-arm-left{transform-origin:27px 91px;animation:6.4s ease-in-out infinite nox-hand-drift}.nox-arm-right{transform-origin:113px 88px;transform:rotate(-8deg)}.nox-mascot.pointing .nox-arm-right{animation:8.4s ease-in-out infinite nox-explain}.nox-mascot.thinking:not(.flying):not(.petted) .nox-arm-right{animation:7s ease-in-out infinite nox-ponder-soft}.nox-mascot.happy:not(.flying):not(.petted) .nox-arm-right,.nox-mascot.welcome:not(.flying):not(.petted) .nox-arm-right{animation:1.8s ease-in-out nox-little-wave}.nox-mascot.happy .nox-cheeks{opacity:.5}.nox-sparkles,.nox-pet-hearts{opacity:0;pointer-events:none}.nox-mascot.happy .nox-sparkles{transform-origin:70px 75px;animation:1.5s ease-out both nox-celebrate-sparkles}.nox-mascot.idle-double-blink .nox-blink{animation:2.2s linear nox-double-blink}.nox-mascot.idle-head-tilt .nox-face{animation:2.2s ease-in-out nox-head-tilt}.nox-mascot.idle-tiny-wave .nox-arm-right,.nox-mascot.booped .nox-arm-right{animation:1.8s ease-in-out nox-little-wave}.nox-mascot.idle-wiggle .nox-squish{animation:2.2s ease-in-out nox-little-wiggle}.nox-mascot.idle-yawn .nox-arm-right{animation:2.2s ease-in-out nox-sleepy-hand}.nox-mascot.expression-sleepy .nox-open-eyes{transform:scaleY(.44)}.nox-mascot.expression-sleepy .nox-face{transform:rotate(-2deg)}.nox-mascot.booped .nox-eye-left{opacity:0}.nox-mascot.booped .nox-wink-eye{display:block}.nox-mascot.booped .nox-cheeks{opacity:.5}.nox-mascot.flying .nox-flight{animation:1.1s cubic-bezier(.25,.6,.35,1) both nox-soft-flight}.nox-mascot.flying .nox-float{animation-play-state:paused}.nox-mascot.flying .nox-squish{animation:1.1s ease-in-out both nox-takeoff-land}.nox-mascot.flying .nox-arm-left{animation:.3s ease-in-out 3 nox-soft-flap-left}.nox-mascot.flying .nox-arm-right{animation:.3s ease-in-out 3 nox-soft-flap-right}.nox-mascot.flying .nox-shadow{animation:1.1s ease-in-out both nox-flight-shadow}.nox-mascot.flying:not(.petted) .nox-mouth-shape{opacity:0}.nox-mascot.flying:not(.petted) .mouth-o{opacity:1}.nox-mascot.petted{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cpath d='M16 28S3 20 3 11a7 7 0 0 1 13-3 7 7 0 0 1 13 3c0 9-13 17-13 17Z' fill='%23F9A8D4' stroke='%23BE185D' stroke-width='1.5'/%3E%3Cpath d='M7 11a3 3 0 0 1 4-3' fill='none' stroke='%23FFF1F8' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") 16 16,pointer}.nox-mascot.petted .nox-brows,.nox-mascot.petted .nox-wink-eye{display:none}.nox-mascot.petted .nox-content-eyes{opacity:1;display:block}.nox-mascot.petted .nox-open-eyes{opacity:0;transform:scaleY(.5)}.nox-mascot.petted .nox-cheeks{opacity:.7}.nox-mascot.petted .nox-pet-lean{transform:rotate(var(--pet-lean))}.nox-mascot.petted .nox-float{animation:3s ease-in-out infinite nox-purr-float}.nox-mascot.petted .nox-squish{animation:2.4s ease-in-out infinite nox-purr-breathe}.nox-mascot.petted .nox-arm-left{animation:none;transform:rotate(-146deg)}.nox-mascot.petted .nox-arm-right{animation:none;transform:rotate(-136deg)}.nox-mascot.petted .nox-face{animation:none;transform:translateY(1px)}.nox-mascot.petted .nox-pet-hearts{opacity:1}.nox-pet-hearts .heart-one,.nox-pet-hearts .heart-two,.nox-pet-hearts .heart-three{transform-box:fill-box;transform-origin:50%}.nox-mascot.petted .heart-one{animation:2.2s ease-in-out infinite nox-heart-rise}.nox-mascot.petted .heart-two{animation:2.2s ease-in-out .65s infinite nox-heart-rise}.nox-pet-hearts .heart-three{opacity:0}.nox-mascot.melting .heart-three{animation:2.2s ease-in-out .3s infinite nox-heart-rise}.nox-mascot.melting .nox-cheeks{opacity:.95}.nox-mascot.melting .nox-content-eyes{transform:translateY(1px)}.nox-mascot.compact .nox-sparkles{display:none}.nox-mascot.compact .nox-cheeks{opacity:.18}@keyframes nox-hover{0%,to{transform:translateY(0)rotate(-.8deg)}50%{transform:translateY(-4px)rotate(.8deg)}}@keyframes nox-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.012,.99)}}@keyframes nox-shadow-breathe{0%,to{opacity:.13;transform:scaleX(1)}50%{opacity:.09;transform:scaleX(.9)}}@keyframes nox-soft-blink{0%,46%,50%,to{transform:scaleY(1)}48%{transform:scaleY(.12)}49%{transform:scaleY(.85)}}@keyframes nox-double-blink{0%,17%,30%,43%,58%,to{transform:scaleY(1)}23%,49%{transform:scaleY(.12)}}@keyframes nox-hand-drift{0%,to{transform:rotate(-3deg)}50%{transform:rotate(4deg)}}@keyframes nox-explain{0%,65%,to{transform:rotate(-8deg)}75%,88%{transform:rotate(-27deg)}81%,94%{transform:rotate(-13deg)}}@keyframes nox-ponder-soft{0%,20%,to{transform:rotate(-8deg)}38%,65%{transform:rotate(-117deg)}50%{transform:rotate(-123deg)}}@keyframes nox-little-wave{0%,to{transform:rotate(-8deg)}23%,55%{transform:rotate(-48deg)}39%,71%{transform:rotate(-20deg)}}@keyframes nox-head-tilt{0%,to{transform:rotate(0)}30%,65%{transform:rotate(4deg)translateY(-1px)}}@keyframes nox-little-wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)scale(1.02,.985)}55%{transform:rotate(2deg)scale(.99,1.015)}78%{transform:rotate(-.7deg)}}@keyframes nox-sleepy-hand{0%,to{transform:rotate(-8deg)}30%,75%{transform:rotate(-137deg)}}@keyframes nox-thought-pulse{0%,to{opacity:.45}50%{opacity:.85}}@keyframes nox-soft-flight{0%{transform:translate(0)rotate(0)}12%{transform:translateY(2px)rotate(-1deg)}38%{transform:translate(-5px,-18px)rotate(-5deg)}67%{transform:translate(8px,-15px)rotate(4deg)}90%{transform:translate(1px,2px)rotate(-1deg)}to{transform:translate(0)rotate(0)}}@keyframes nox-takeoff-land{0%,to{transform:scale(1)}12%{transform:scale(1.045,.95)}35%{transform:scale(.98,1.025)}70%{transform:scale(1)}90%{transform:scale(1.035,.965)}}@keyframes nox-soft-flap-left{0%,to{transform:rotate(5deg)}50%{transform:rotate(58deg)}}@keyframes nox-soft-flap-right{0%,to{transform:rotate(-10deg)}50%{transform:rotate(-54deg)}}@keyframes nox-flight-shadow{0%,to{opacity:.13;transform:scaleX(1)}45%,65%{opacity:.06;transform:scaleX(.7)}}@keyframes nox-purr-float{0%,to{transform:translateY(0)rotate(-.5deg)}50%{transform:translateY(-2px)rotate(.5deg)}}@keyframes nox-purr-breathe{0%,to{transform:scale(1.01,.99)}50%{transform:scale(.995,1.012)}}@keyframes nox-heart-rise{0%{opacity:0;transform:translateY(3px)scale(.75)}25%{opacity:.9}75%{opacity:.7}to{opacity:0;transform:translateY(-9px)scale(1)}}@keyframes nox-celebrate-sparkles{0%{opacity:0;transform:scale(.8)}30%{opacity:.85}to{opacity:0;transform:scale(1.08)}}:root[data-reduced=true] .nox-mascot *,.nox-mascot.still *{transition:none!important;animation:none!important}.nox-mascot.still .nox-pet-hearts .heart-one,.nox-mascot.still .nox-pet-hearts .heart-two{opacity:.8}@media (prefers-reduced-motion:reduce){.nox-mascot *{transition:none!important;animation:none!important}.nox-mascot.petted .heart-one,.nox-mascot.petted .heart-two{opacity:.8}}.nox-left-finger{opacity:0}.nox-mascot.pointing.point-left .nox-arm-left{transform:rotate(var(--point-angle,28deg));animation:5.8s ease-in-out infinite nox-explain-left}.nox-mascot.pointing.point-left .nox-arm-right{animation:none;transform:rotate(-8deg)}.nox-mascot.pointing.point-left .nox-left-finger{opacity:1}.nox-mascot.point-left.flying .nox-arm-left{animation:.3s ease-in-out 3 nox-soft-flap-left}.nox-mascot.point-left.flying .nox-left-finger,.nox-mascot.petted .nox-left-finger{opacity:0}.nox-mascot.point-left.petted .nox-arm-left{animation:none;transform:rotate(-146deg)}.nox-mascot.point-left.petted .nox-arm-right{animation:none;transform:rotate(-136deg)}@keyframes nox-explain-left{0%,65%,to{transform:rotate(var(--point-angle,28deg))}75%,88%{transform:rotate(calc(var(--point-angle,28deg) + 5deg))}81%,94%{transform:rotate(calc(var(--point-angle,28deg) - 2deg))}}.nox-mascot.pointing.point-down:not(.flying):not(.petted) .nox-arm-right{animation:5.8s ease-in-out infinite nox-explain-down}@keyframes nox-explain-down{0%,65%,to{transform:rotate(116deg)}75%,88%{transform:rotate(123deg)}81%,94%{transform:rotate(113deg)}}.statistics-screen{min-width:0}.statistics-tabs{border-bottom:1px solid var(--border);gap:24px;margin:0 0 24px;display:flex}.statistics-tabs a,.statistics-tabs>span{color:var(--muted);border-bottom:2px solid #0000;padding:14px 0;font-size:14px}.statistics-tabs a.active{color:var(--primary);border-bottom-color:var(--primary)}.statistics-set-picker{max-width:500px;margin:0 0 28px;position:relative}.statistics-set-picker>summary{border:1px solid var(--border);color:var(--text);cursor:pointer;overflow-wrap:anywhere;border-radius:10px;padding:13px 16px}.statistics-set-picker[open]>summary{border-color:var(--primary)}.statistics-picker-body{z-index:15;background:var(--surface);border:1px solid var(--border);border-radius:12px;width:100%;padding:16px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 16px 50px #0005}.statistics-picker-body .field{margin-bottom:14px}.statistics-picker-list{max-height:330px;overflow:auto}.statistics-picker-list a{overflow-wrap:anywhere;border-radius:6px;flex-direction:column;gap:4px;padding:12px;font-size:13px;display:flex}.statistics-picker-list a:hover,.statistics-picker-list a.selected{background:var(--soft);color:var(--primary)}.statistics-overview-intro{flex-wrap:wrap;align-items:baseline;gap:18px;margin-bottom:20px;display:flex}.statistics-overview-intro h2{margin:0;font-size:20px}.statistics-overview-intro>span{font-size:13px}.statistics-filters{flex-wrap:wrap;align-items:end;gap:14px;margin-bottom:24px;display:flex}.statistics-filters .field{flex:200px;margin:0}.statistics-column-controls,.statistics-row-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.statistics-column-controls>div:first-child{align-items:center;gap:14px;font-size:13px;display:flex}.statistics-page-controls{flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.statistics-page-controls label{color:var(--muted);align-items:center;gap:8px;display:flex}.statistics-page-controls select{width:auto;min-height:38px;padding:6px 24px 6px 10px;font-size:12px}.statistics-page-controls .button{min-height:38px;padding:8px}.statistics-matrix-help{margin:14px 0;line-height:1.7}.statistics-matrix-wrap{border:1px solid var(--border);isolation:isolate;border-radius:12px;max-height:65vh;overflow:auto}.statistics-matrix{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.statistics-matrix th,.statistics-matrix td{border-bottom:1px solid var(--border);text-align:center;background:var(--surface);vertical-align:middle;min-width:138px;padding:18px 14px}.statistics-matrix thead th{z-index:3;background:var(--bg);font-weight:600;position:sticky;top:0}.statistics-matrix thead th>a{color:var(--primary);flex-direction:column;align-items:center;gap:8px;display:flex}.statistics-matrix thead th>a span{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.statistics-matrix thead th small{margin-top:4px;font-size:10px;font-weight:400;display:block}.statistics-matrix .statistics-name-column{text-align:left;z-index:2;border-right:1px solid var(--border);min-width:210px;max-width:270px;position:sticky;left:0}.statistics-matrix thead .statistics-name-column{z-index:4}.statistics-name-column a{color:var(--text);overflow-wrap:anywhere;flex-direction:column;gap:6px;display:flex}.statistics-name-column strong{font-weight:500}.statistics-name-column small{color:var(--muted);font-size:11px}.statistics-matrix tbody tr:hover th,.statistics-matrix tbody tr:hover td{background:var(--bg)}.statistics-state{white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:inline-flex}.statistics-state i{background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.state-not_started{color:var(--muted)}.state-started{color:var(--primary)}.state-completed{color:var(--success)}.statistics-empty{color:var(--muted);white-space:normal;padding:36px!important}.statistics-row-controls{margin-top:20px;font-size:13px}.statistics-definitions{color:var(--muted);margin:26px 0;font-size:12px;line-height:1.8}.statistics-status-cards .number{margin-top:16px}.statistics-status-cards .number small{color:var(--muted);font-size:16px;font-weight:400}.statistics-screen .report-charts .panel{min-width:0}@media (width<=600px){.statistics-tabs{gap:18px}.statistics-tabs a,.statistics-tabs>span{font-size:12px}.statistics-matrix .statistics-name-column{min-width:132px;max-width:150px}.statistics-matrix th,.statistics-matrix td{min-width:132px;padding:16px 10px}.statistics-column-controls{align-items:start}.statistics-page-controls{gap:6px}.statistics-page-controls label{gap:5px}.statistics-page-controls .button{padding:7px}.statistics-page-controls select{padding-right:16px}.statistics-set-picker{max-width:none}.statistics-matrix-wrap{max-height:60vh}}.feedback-inbox{min-width:0}.feedback-filters{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:18px;display:grid}.feedback-filters label,.feedback-actions label,.feedback-pagination label{gap:8px;min-width:0;display:grid}.feedback-search{grid-column:span 2}.feedback-inbox input,.feedback-inbox select{width:100%;min-width:0;min-height:44px;color:var(--text);background:var(--bg);border:1px solid color-mix(in srgb, var(--border), var(--muted) 35%);font:inherit;border-radius:8px;padding:11px 13px;font-size:14px}.feedback-filter-buttons{flex-wrap:wrap;grid-column:span 2;align-items:center;gap:10px;display:flex}.feedback-counts{flex-wrap:wrap;gap:14px 24px;margin:24px 0 16px;display:flex}.feedback-counts>span{align-items:center;gap:10px;display:inline-flex}.feedback-card{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin:12px 0;overflow:hidden}.feedback-card summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;padding:22px;list-style:none;display:flex}.feedback-card summary::-webkit-details-marker{display:none}.feedback-card summary:before{content:"›";color:var(--primary);font-size:24px;transition:transform .18s}.feedback-card[open] summary:before{transform:rotate(90deg)}.feedback-summary-copy{overflow-wrap:anywhere;flex:1;gap:8px;min-width:0;display:grid}.feedback-summary-copy .muted,.feedback-location{font-size:.86rem}.feedback-location{color:var(--muted)}.feedback-card summary>.badge{flex-shrink:0}.feedback-body{border-top:1px solid var(--border);padding:0 22px 22px}.feedback-body h3{margin:22px 0 10px}.feedback-text{white-space:pre-wrap;overflow-wrap:anywhere}.feedback-context{background:var(--bg);border-radius:10px;margin:22px 0;padding:1px 18px 12px}.feedback-actions{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.feedback-actions label{min-width:180px}.feedback-actions a{align-self:center;margin-left:auto}.feedback-empty{text-align:center;padding:32px}.feedback-pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;margin-top:24px;display:flex}.feedback-pagination label{grid-template-columns:auto 80px;align-items:center;margin-right:auto}@media (width<=1200px){.feedback-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback-filter-buttons{grid-column:1/-1}}@media (width<=600px){.feedback-inbox input,.feedback-inbox select{font-size:16px}.feedback-filters{grid-template-columns:minmax(0,1fr)}.feedback-search{grid-column:auto}.feedback-card summary{flex-wrap:wrap;align-items:flex-start;gap:10px;padding:16px}.feedback-summary-copy{flex-basis:calc(100% - 36px)}.feedback-card summary>.badge{margin-left:24px}.feedback-body{padding:0 16px 16px}.feedback-actions{flex-direction:column;align-items:stretch}.feedback-actions a{align-self:flex-start;margin:8px 0 0}.feedback-actions label{min-width:0}.feedback-pagination{justify-content:center;gap:10px}.feedback-pagination label{justify-content:start;width:100%}}.list-filters{flex-wrap:wrap;align-items:end;gap:14px;margin:20px 0;display:flex}.list-filters .field{flex:170px;margin:0}.list-filters .search-field{flex:2 240px}.list-pagination{flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;display:flex}.list-pagination p{margin-right:auto}.list-pagination label{align-items:center;gap:8px;display:flex}.list-pagination select{border:1px solid var(--border);color:var(--text);background:var(--bg);border-radius:8px;padding:9px}.confirmation-dialog{border:1px solid var(--border);background:var(--surface);width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow);border-radius:16px;padding:26px;overflow-y:auto}.confirmation-dialog::backdrop{background:#0009}.confirmation-dialog h2{margin-top:0}.confirmation-dialog .buttons{justify-content:end;margin-top:24px}.panel.account-row{overflow-wrap:anywhere;align-items:start;gap:16px;padding:22px}.account-row .buttons{flex-wrap:wrap}@media (width<=600px){.list-filters>.button{flex:auto}.list-pagination{justify-content:center}.list-pagination p{width:100%;margin:0}.list-pagination label{justify-content:flex-start;width:100%}.account-row{flex-wrap:wrap}}.learning-grid.nox-learning-stage{grid-template-columns:minmax(210px,.72fr) minmax(340px,1.25fr) 276px;align-items:start;gap:22px}.nox-learning-stage>.learning-prompt{grid-area:1/1;min-width:0}.nox-learning-stage>.learning-content{grid-area:1/2;min-width:0}.nox-learning-stage>.nox-guide-rail{grid-area:1/3}.nox-guide.nox-guide-rail{--guide-flow:0;isolation:isolate;align-self:stretch;min-width:0;min-height:390px;padding:0;display:block;position:relative;overflow:clip}.nox-presenter{flex-direction:column;align-items:center;gap:24px;width:calc(100% - 36px);max-width:300px;display:flex;position:absolute;top:0;left:0}.nox-guide-rail.positioned .nox-presenter{transition:transform .85s cubic-bezier(.22,1,.36,1)}.nox-guide-rail .nox-thought-bubble{background:var(--surface);border-radius:31px 34px 30px 36px;width:100%;padding:20px 19px;box-shadow:0 8px 28px #0000000d}.nox-guide-rail .nox-thought-bubble h3{color:var(--text);margin:9px 0;font-size:12px;line-height:1.5}.nox-guide-rail .nox-thought-bubble p{font-size:13px;line-height:1.7}.nox-focus-label{color:var(--primary);font-size:11px;line-height:1.5;display:block}.nox-guide-rail .nox-bubble-dots{background:var(--surface);width:13px;height:13px;top:auto;bottom:-16px;left:calc(50% + 17px)}.nox-guide-rail .nox-bubble-dots:before{width:7px;height:7px;top:14px;left:-10px}.nox-guide-rail .nox-guide-character{justify-content:flex-start;align-self:center;min-height:127px}.nox-guide-rail .nox-guide-character .nox-mascot{width:104px!important;height:104px!important}.nox-guide-rail .nox-pet-hint{opacity:.75;max-width:130px}.nox-learning-stage[data-nox-focus=code] .player-code .code-panel,.nox-learning-stage[data-nox-focus=state] .player-state>.panel,.nox-learning-stage[data-nox-focus=output] .player-output>.panel{outline:1px solid var(--primary);outline-offset:3px}.learning-grid.nox-learning-stage.nox-quiet{grid-template-columns:.8fr 1.2fr}.nox-learning-stage.nox-quiet>.learning-content{grid-area:1/2/span 2}.nox-learning-stage.nox-quiet>.nox-guide-rail{grid-area:2/1}.nox-guide.nox-guide-rail.quiet{min-height:0;overflow:visible}.nox-guide-rail.quiet .nox-presenter{gap:0;width:100%;max-width:none;position:static;transform:none}.nox-guide-rail.quiet .nox-thought-bubble{border-radius:18px}@media (width<=1199px) and (width>=901px){.learning-grid.nox-learning-stage{grid-template-columns:minmax(0,1fr) 276px;gap:22px}.nox-learning-stage>.learning-prompt{grid-area:1/1}.nox-learning-stage>.learning-content{grid-area:2/1}.nox-learning-stage>.nox-guide-rail{grid-area:1/2/span 2}}@media (width<=900px){.learning-grid.nox-learning-stage,.learning-grid.nox-learning-stage.nox-quiet{grid-template-columns:minmax(0,1fr);gap:20px}.nox-learning-stage>.learning-prompt{grid-area:1/1}.nox-learning-stage>.nox-guide-rail,.nox-learning-stage.nox-quiet>.nox-guide-rail{grid-area:2/1}.nox-learning-stage>.learning-content,.nox-learning-stage.nox-quiet>.learning-content{grid-area:3/1}.nox-guide.nox-guide-rail{--guide-flow:1;min-height:350px}.nox-guide.nox-guide-rail.quiet{min-height:0}.nox-guide-rail .nox-thought-bubble{padding:18px}.nox-guide-rail .nox-thought-bubble p{font-size:13px}}@media (prefers-reduced-motion:reduce){.nox-guide-rail .nox-presenter{transition:none!important}}:root[data-reduced=true] .nox-guide-rail .nox-presenter{transition:none!important}.teaching-editor{min-width:0;container-type:inline-size}.teaching-intro{margin:0 0 14px}.teaching-intro h3{margin:0 0 4px;font-size:19px}.teaching-intro p{color:var(--muted);font-size:12px}.teaching-workspace{grid-template-columns:minmax(150px,.62fr) minmax(300px,1.65fr) minmax(230px,1.08fr);align-items:stretch;gap:12px;display:grid}.teaching-workspace>*{border:1px solid var(--border);background:var(--bg);border-radius:12px;min-width:0;padding:14px}.teaching-workspace h4{margin:0 0 12px;font-size:14px}.teaching-steps-pane{flex-direction:column;gap:10px;display:flex}.teaching-step-list{scrollbar-width:thin;flex-direction:column;gap:7px;min-height:150px;max-height:425px;display:flex;overflow:auto}.teaching-step-list button{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:8px;align-items:center;gap:8px;width:100%;min-height:46px;padding:11px 8px;font-size:12px;display:flex}.teaching-step-list button>span:nth-child(2){overflow-wrap:anywhere;flex:1;min-width:0}.teaching-step-list button.selected{color:var(--primary);border-color:var(--primary);background:var(--soft)}.teaching-step-list small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.teaching-step-number{font-variant-numeric:tabular-nums;min-width:18px}.teaching-step-list svg{color:var(--muted);flex-shrink:0}.teaching-step-tools{flex-wrap:wrap;gap:5px;margin-top:auto;display:flex}.teaching-step-tools>.button{padding:8px;font-size:11px}.teaching-order-tools{align-items:center;gap:4px;display:flex}.teaching-order-tools .button{padding:5px}.teaching-order-tools span{color:var(--muted);margin-left:auto;font-size:10px}.teaching-example-tools{border-top:1px solid var(--border);padding-top:10px;font-size:11px}.teaching-example-tools summary{cursor:pointer}.teaching-example-tools p{margin:8px 0;font-size:11px}.teaching-example-tools .button{margin:4px 0;padding:6px;font-size:10px}.teaching-editor .field{gap:6px;min-width:0;margin:0;font-size:12px}.teaching-editor input,.teaching-editor textarea,.teaching-editor select{min-width:0;padding:9px;font-size:12px}.teaching-current-pane{flex-direction:column;gap:14px;display:flex}.teaching-code-label{gap:4px;font-size:13px;display:grid}.teaching-code-label span{color:var(--muted);font-size:11px}.teaching-code-editor{border:1px solid var(--border);border-radius:8px;overflow:hidden}.teaching-code-head,.teaching-code-row{grid-template-columns:26px 43px 43px minmax(0,1fr);align-items:center;display:grid}.teaching-code-head{background:var(--surface);border-bottom:1px solid var(--border);color:var(--muted);text-align:center;padding:7px 0;font-size:9px}.teaching-code-head span:last-child{text-align:left;padding-left:8px}.teaching-code-rows{scrollbar-width:thin;max-height:270px;overflow:auto}.teaching-code-row{min-height:34px}.teaching-code-row.highlighted{background:var(--soft)}.teaching-line-number{color:var(--muted);text-align:center;font-size:11px}.teaching-code-row button{color:var(--primary);background:0 0;border:0;place-items:center;padding:4px;display:grid}.teaching-code-row label{place-items:center;padding:4px;display:grid}.teaching-code-row input{width:15px;height:15px;accent-color:var(--primary);padding:0}.teaching-code-row code{white-space:pre;padding:7px 8px;font-size:12px;overflow-x:auto}.teaching-code-row.hidden-line code,.teaching-code-row.hidden-line button{opacity:.45}.teaching-code-summary{color:var(--muted);justify-content:space-between;align-items:center;gap:6px;margin-top:-8px;font-size:10px;display:flex}.teaching-code-summary .button{color:var(--primary);background:0 0;border:0;padding:4px;font-size:10px}.teaching-explanation textarea{resize:vertical;min-height:112px;line-height:1.6}.teaching-runtime-editor{border-top:1px solid var(--border);padding-top:10px;font-size:12px}.teaching-runtime-editor summary{cursor:pointer}.teaching-runtime-editor>p{margin:10px 0;font-size:11px}.teaching-variable-editor{grid-template-columns:1fr .65fr 1fr auto;align-items:end;gap:6px;margin-bottom:10px;display:grid}.teaching-variable-editor .button{padding:8px 4px}.teaching-runtime-editor>.field{margin-top:12px}.teaching-runtime-editor>.button{padding:7px;font-size:11px}.teaching-navigation{justify-content:space-between;gap:8px;margin-top:auto;display:flex}.teaching-navigation .button{padding:8px;font-size:11px}.teaching-preview{flex-direction:column;gap:16px;display:flex}.teaching-preview-heading{justify-content:space-between;align-items:start;gap:6px;display:flex}.teaching-preview-heading h4{margin:0}.teaching-preview-heading>span{color:var(--muted);white-space:nowrap;font-size:11px}.teaching-preview .code-panel{border-radius:8px}.teaching-preview .code-header{padding:8px;font-size:10px}.teaching-preview .code-scroll{max-height:250px}.teaching-preview .code-line{grid-template-columns:26px minmax(0,1fr);min-height:30px;font-size:11px}.teaching-preview .code-line button{padding:6px;font-size:11px}.teaching-no-code{border:1px dashed var(--border);color:var(--muted);border-radius:8px;padding:20px 12px;font-size:12px}.teaching-nox{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.teaching-nox-bubble{border:1px solid var(--primary);background:var(--soft);overflow-wrap:anywhere;border-radius:18px 18px 4px;width:100%;padding:16px;position:relative}.teaching-nox-bubble strong{margin-bottom:8px;font-size:12px;display:block}.teaching-nox-bubble p{white-space:pre-wrap;font-size:13px;line-height:1.7}.teaching-nox .nox-mascot{flex-shrink:0}.teaching-preview-play{flex-direction:column;align-items:center;gap:12px;margin-top:auto;display:flex}.teaching-preview-play progress{width:100%;height:5px;accent-color:var(--primary)}.teaching-preview-play .button{padding:9px;font-size:11px}.teaching-preview-play>span{text-align:center;font-size:10px}.teaching-tip{color:var(--muted);border:1px solid var(--border);border-radius:9px;align-items:center;gap:10px;margin-top:12px;padding:12px;font-size:11px;display:flex}.teaching-tip svg{color:var(--warning);flex-shrink:0}.teaching-runtime-preview{gap:10px;display:grid}.teaching-runtime-preview h5{color:var(--muted);margin:0 0 6px;font-size:11px}.teaching-runtime-preview pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.teaching-preview-variable{flex-wrap:wrap;align-items:center;gap:8px;font-size:11px;display:flex}.teaching-preview-variable small{color:var(--muted)}.teaching-linked-text{font-size:12px;line-height:1.8}.teaching-source-notice{align-items:center;gap:12px;font-size:12px;display:flex}.teaching-source-notice .button{flex-shrink:0;font-size:12px}@container (width<=840px){.teaching-workspace{grid-template-columns:150px minmax(0,1fr)}.teaching-preview{grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.teaching-preview-heading,.teaching-preview-play{grid-column:1/-1}.teaching-preview-play{margin-top:0}}@container (width<=500px){.teaching-workspace{grid-template-columns:minmax(0,1fr)}.teaching-steps-pane{padding:10px}.teaching-step-list{flex-direction:row;min-height:0;max-height:130px;display:flex;overflow:auto}.teaching-step-list>div{flex:0 0 145px}.teaching-step-list button{height:100%}.teaching-step-tools{margin-top:0}.teaching-current-pane,.teaching-preview{padding:10px}.teaching-preview{grid-column:auto;display:flex}.teaching-code-head,.teaching-code-row{grid-template-columns:22px 37px 37px minmax(0,1fr)}.teaching-code-head{font-size:8px}.teaching-code-row code{font-size:11px}.teaching-variable-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.teaching-code-summary{flex-wrap:wrap}.teaching-source-notice{display:block}.teaching-source-notice .button{margin-top:8px}}.teaching-code-label>.button{color:var(--primary);background:0 0;border:0;justify-self:start;padding:0;font-size:10px}.teaching-preview-variable code{overflow-wrap:anywhere;min-width:0}.teaching-current-pane{gap:12px}.teaching-code-label>.button{min-height:20px}.teaching-code-summary .button{min-height:24px}.teaching-navigation .button{min-height:34px}.teaching-preview .code-scroll{padding:8px 0}.teaching-preview .code-line{gap:8px;padding:4px 8px}.teaching-nox{flex-direction:row;align-items:center;gap:6px}.teaching-nox-bubble{flex:1;width:auto;min-width:0;padding:12px}.teaching-nox .nox-mascot{align-self:flex-end}@container (width<=500px){.teaching-nox{flex-direction:column;align-items:flex-end}.teaching-nox-bubble{width:100%}}.material-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.assignment-grid:empty{display:none}.assignment-tile{color:var(--text);border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:24px;text-decoration:none;transition:transform .18s,border-color .18s,box-shadow .18s;display:block}.assignment-tile:hover,.assignment-tile:focus-visible{border-color:var(--primary);transform:translateY(-3px);box-shadow:0 10px 32px #0002}.assignment-tile h3{margin:14px 0 20px;font-size:21px}.material-meter{background:var(--border);border-radius:10px;height:5px;margin-top:16px;overflow:hidden}.material-meter span{background:var(--primary);height:100%;display:block}.material-category{min-width:0;margin:24px 0}.material-category>summary{cursor:pointer;align-items:center;gap:12px;padding:16px 0;font-weight:600;display:flex}.material-category>summary:after{content:"+";color:var(--muted);margin-left:auto}.material-category[open]>summary:after{content:"−"}.material-category-body .material-category{border-left:1px solid var(--border);margin-left:18px;padding-left:16px}.material-breadcrumb{color:var(--muted);flex-wrap:wrap;gap:12px;margin:0 0 24px;font-size:13px;display:flex}.exercise-switcher{flex-wrap:wrap;gap:10px;margin:24px 0 28px;display:flex}.exercise-switcher a{border:1px solid var(--border);color:#fff;background:#626572;border-radius:9px;justify-content:center;align-items:center;gap:4px;min-width:44px;height:44px;padding:6px;font-weight:600;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.exercise-switcher a:hover{filter:brightness(1.12)}.exercise-switcher a.active{border-color:var(--primary);outline:2px solid var(--primary);outline-offset:3px}.exercise-switcher a.done{color:#fff;background:#277b43}.exercise-title{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.exercise-title h2{margin:6px 0;font-size:clamp(22px,3vw,30px)}.difficulty-stars{color:#eab640;flex-wrap:wrap;flex-shrink:0;gap:4px;max-width:55%;display:inline-flex}.exercise-intro{align-items:start;gap:30px;display:grid}.material-prose{white-space:pre-line;margin:0;line-height:1.85}.exercise-image{object-fit:contain;border-radius:14px;width:100%;max-height:280px}.exercise-examples{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:26px;display:grid}.io-example{border:1px solid var(--border);background:var(--code);border-radius:12px;min-width:0;padding:16px}.io-pair{grid-template-columns:1fr 1fr;gap:15px;display:grid}.io-pair h3{color:var(--muted);margin:12px 0 6px;font-size:12px;font-weight:500}.io-pair pre{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:13px}.material-disclosure{margin-top:22px}.material-disclosure summary,.solution-panel summary,.extension-panel summary{cursor:pointer;font-weight:600}.material-code{background:var(--code);border:1px solid var(--border);tab-size:4;border-radius:12px;margin:18px 0 0;padding:20px;font-size:14px;line-height:1.8;overflow-x:auto}.teaching-panel{margin-top:24px}.teaching-dots{gap:6px;margin:20px 0 30px;display:flex}.teaching-dots span{background:var(--border);border-radius:4px;flex:1;height:4px}.teaching-dots span.filled{background:var(--primary)}.teaching-step{max-width:760px;min-height:180px}.teaching-step h3{margin:12px 0 18px;font-size:23px}.teaching-navigation{justify-content:space-between;align-items:center;gap:16px;margin-top:28px;display:flex}.understanding-check{border-top:1px solid var(--border);margin-top:28px;padding-top:24px}.understanding-check fieldset,.material-editor fieldset{border:0;min-width:0;margin:0;padding:0}.understanding-check legend{margin-bottom:18px}.check-option{border:1px solid var(--border);cursor:pointer;white-space:pre-line;border-radius:10px;align-items:center;gap:12px;margin:8px 0;padding:14px 16px;display:flex}.check-option.selected{border-color:var(--primary);background:var(--soft)}.understanding-check>.button{margin-top:14px}.solution-panel,.extension-panel{margin-top:20px}.extension-panel[open] summary{margin-bottom:24px}.extension-panel .material-actions{margin-top:20px;margin-bottom:20px}.extension-explanation{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;line-height:1.85}.extension-answer .material-code{margin:18px 0}.task-fragment-active{color:var(--text);-webkit-box-decoration-break:clone;box-decoration-break:clone;background:#a78bfa38;border-radius:3px;text-decoration:none;box-shadow:0 0 0 2px #a78bfa38}.current-requirement{background:var(--surface);border-radius:8px;margin-bottom:14px;padding:14px 18px}.current-requirement p{white-space:pre-line;margin:8px 0 0;line-height:1.9}.text-links-editor{margin:24px 0}.text-links-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.text-links-toolbar h3{margin:0}.text-link-card{border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:18px}.text-link-card>.row{flex-wrap:wrap;gap:16px}.text-link-card strong{white-space:pre-wrap;overflow-wrap:anywhere}.text-link-card fieldset{margin-top:18px}.text-link-card legend{color:var(--muted);margin-bottom:12px;font-size:13px}.text-link-code-choice{cursor:pointer;align-items:baseline;gap:12px;padding:7px 0;display:flex}.text-link-code-choice>span{color:var(--muted);min-width:24px}.text-link-code-choice code{white-space:pre-wrap;overflow-wrap:anywhere}.material-editor .field{margin:16px 0}.material-editor textarea{resize:vertical}.material-editor>fieldset>h3{margin-top:28px}.exercise-edit-tabs{margin:28px 0}.editor-step{border:1px solid var(--border);border-radius:12px;margin:16px 0;padding:16px}.editor-image{border-radius:8px;max-width:120px;max-height:90px}.assignment-editor{margin-bottom:30px}.exercise-example-disclosure{margin-top:20px}.exercise-example-disclosure>summary{cursor:pointer;color:var(--muted);font-size:13px}.exercise-intro.with-image{grid-template-columns:minmax(0,1fr) minmax(230px,34%)}.exercise-image{max-height:280px}.assignment-lesson{border:1px solid var(--border);background:var(--soft);border-radius:18px;margin:28px 0;padding:24px}.lesson-topline{justify-content:space-between;align-items:center;gap:16px;display:flex}.lesson-topline h2{margin:7px 0 16px;font-size:22px}.lesson-phases{color:var(--muted);flex-wrap:wrap;gap:16px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.lesson-phases [aria-current=step]{color:var(--primary);font-weight:700}.unified-lesson-stage{grid-template-columns:minmax(0,1fr) 290px;align-items:start;gap:22px;margin-top:24px;display:grid}.unified-lesson-stage>.learning-content{grid-area:1/1;min-width:0}.unified-lesson-stage .player-code,.unified-lesson-stage .player-state,.unified-lesson-stage .player-output{display:block}.unified-lesson-stage .variable>code{overflow-wrap:anywhere;min-width:0}.unified-lesson-stage>.nox-guide-rail{grid-area:1/2}.lesson-runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lesson-runtime-grid .panel{min-width:0;margin:0;padding:16px}.lesson-runtime-grid h3{color:var(--muted);margin:0 0 14px;font-size:13px}.lesson-runtime .field{margin:18px 0}.lesson-navigation{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:20px;padding-top:20px;display:flex}.lesson-navigation>.button:last-child{margin-left:auto}.unified-lesson-stage .understanding-check{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:20px}@media (width<=1000px){.unified-lesson-stage{grid-template-columns:minmax(0,1fr)}.unified-lesson-stage>.nox-guide-rail{--guide-flow:1;grid-area:1/1}.unified-lesson-stage>.learning-content{grid-area:2/1}}@media (width<=760px){.exercise-intro.with-image{grid-template-columns:minmax(0,1fr)}.assignment-lesson{padding:16px}.lesson-runtime-grid{grid-template-columns:minmax(0,1fr)}.lesson-navigation .button{padding:10px}.lesson-phases{gap:12px}}.assignment-code-analysis{margin:32px 0}.assignment-code-analysis .embedded-player{max-width:none;padding:0}.embedded-player .learning-grid.nox-learning-stage,.embedded-player .learning-grid.nox-learning-stage.nox-quiet{grid-template-columns:minmax(0,1fr) 276px}.embedded-player .nox-learning-stage>.learning-content{grid-area:1/1}.embedded-player .nox-learning-stage>.nox-guide-rail{grid-area:1/2}@media (width<=900px){.embedded-player .learning-grid.nox-learning-stage,.embedded-player .learning-grid.nox-learning-stage.nox-quiet{grid-template-columns:minmax(0,1fr)}.embedded-player .nox-learning-stage>.nox-guide-rail{grid-area:1/1}.embedded-player .nox-learning-stage>.learning-content{grid-area:2/1}}@media (width<=760px){.assignment-grid,.exercise-intro.with-image{grid-template-columns:1fr}.exercise-image{max-height:280px}.exercise-title{align-items:start}.exercise-examples{grid-template-columns:1fr}.exercise-description,.teaching-panel{padding:20px}.material-code{padding:12px;font-size:12px}.teaching-step h3{font-size:20px}.material-category-body .material-category{margin-left:4px;padding-left:8px}}@media (prefers-reduced-motion:reduce){.assignment-tile{transition:none}.assignment-tile:hover{transform:none}}.analysis-editor{gap:16px;min-width:0;display:grid}.analysis-lines{border:1px solid var(--border);border-radius:10px;overflow:auto}.analysis-line{align-items:center;gap:10px;padding:7px;display:flex}.analysis-line.active{background:#a78bfa2e}.analysis-line>label{white-space:nowrap;font-size:12px}.analysis-line>button{color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:15px;padding:6px;display:flex}.analysis-line code{white-space:pre}.analysis-line button span{color:var(--muted)}.analysis-variable{grid-template-columns:1fr 1fr 2fr auto;align-items:end;gap:10px;display:grid}.organizer-row{border-bottom:1px solid var(--border);cursor:grab;flex-wrap:wrap;align-items:center;gap:10px;padding:14px 0;display:flex}.organizer-row .list-body{flex:1;min-width:140px}.lesson-feedback{margin:16px 0 24px}@media (width<=640px){.analysis-variable{grid-template-columns:1fr}.organizer-row{gap:6px}.organizer-row .button{padding:8px}}.publication-controls{border:1px solid var(--border);background:var(--bg);border-radius:12px;margin:12px 0 24px;padding:20px}.publication-controls>.field:last-of-type{margin-bottom:12px}.publication-controls>p{margin:0}.editor-toolbar{z-index:15;background:var(--surface);border:1px solid var(--border);border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;margin-bottom:18px;padding:14px;display:grid;position:sticky;top:0;box-shadow:0 5px 18px #0002}.editor-toolbar [role=status]{min-width:0;font-size:12px}.editor-toolbar small{color:var(--muted);margin-top:4px;display:block}.editor-sections-nav{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.editor-sections-nav .button{padding:8px 12px}.editor-section{border:1px solid var(--border);border-radius:12px;min-width:0;margin:18px 0;padding:18px;scroll-margin-top:140px}.editor-section>summary{cursor:pointer;padding:4px 0;font-size:16px;font-weight:700}.editor-section[open]>summary{margin-bottom:20px}.editor-section>h3:first-of-type{margin-top:0}.editor-errors{display:block}.editor-errors ul{max-height:260px;padding-left:20px;overflow-y:auto}.editor-errors li{margin:10px 0}.editor-errors li button{color:var(--primary);text-align:left;background:0 0;border:0;padding:4px 0;font-weight:700;text-decoration:underline}.editor-errors li span{font-size:12px;display:block}.material-editor [aria-invalid=true]{border-color:var(--error);outline-color:var(--error)}@media (width<=600px){.editor-toolbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px}.editor-toolbar [role=status]{grid-column:1/-1}.editor-toolbar small{font-size:10px}.editor-section{padding:12px;scroll-margin-top:190px}.editor-sections-nav{gap:6px}.editor-sections-nav .button{font-size:11px}}.editor-toolbar{grid-template-columns:minmax(0,1fr) auto auto auto}.editor-guide{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0 10px;display:grid}.editor-guide .button{text-align:left;justify-content:flex-start;min-width:0;padding:12px}.editor-guide small{color:var(--muted);margin-top:4px;font-size:11px;font-weight:400;display:block}.guide-number{background:var(--surface);border:1px solid var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.guide-number.done{color:#67d5ae}.editor-readiness{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.editor-extras-heading{margin:32px 0 0}.editor-extras-heading h3{margin-bottom:6px}.exercise-edit-tabs{max-height:200px;padding:4px;overflow-y:auto}.material-editor .code-input{font-family:var(--font-mono,ui-monospace, monospace);tab-size:4;white-space:pre;overflow-x:auto}.author-preview{color:var(--text);background:var(--bg);border:1px solid var(--border);box-sizing:border-box;border-radius:16px;width:min(1200px,100vw - 32px);max-width:none;max-height:calc(100dvh - 32px);padding:0 24px 24px}.author-preview::backdrop{background:#000b}.author-preview-toolbar{z-index:20;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 0;display:flex;position:sticky;top:0}.author-preview-toolbar h2{margin:0 0 6px;font-size:20px}.author-preview-toolbar .button{flex-shrink:0}@media (width<=900px){.editor-guide{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-toolbar{grid-template-columns:repeat(3,auto)}.editor-toolbar [role=status]{grid-column:1/-1}}@media (width<=600px){.editor-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-toolbar>.button{padding:10px 8px;font-size:11px}.editor-toolbar>.primary{grid-area:2/2}.editor-toolbar>.button:last-child{grid-column:1/-1;padding:4px}.editor-guide small{display:none}.editor-guide .button{padding:8px;font-size:12px}.author-preview{width:calc(100vw - 12px);max-height:calc(100dvh - 12px);padding:0 12px 16px}.author-preview-toolbar{flex-direction:column;align-items:stretch;gap:8px;padding:12px 0}}.inline-category{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.inline-category .field{flex:240px}.answer-editor-row{align-items:center;gap:12px;margin-bottom:12px;display:flex}.answer-editor-row .field{flex:1;min-width:0}@media (width<=600px){.answer-editor-row{display:block}.answer-editor-row>.button{padding:4px 8px;font-size:11px}}.editor-save-help{margin:12px 0}.editor-save-help summary{cursor:pointer}.editor-save-help p{max-width:75ch;margin-top:8px}@media (width<=600px){.editor-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto}.editor-toolbar>.button:last-child{grid-area:2/3;padding:10px}.toolbar-close-text{display:none}}.editor-guide-three{grid-template-columns:repeat(3,minmax(0,1fr))}.editor-guide-three .button[aria-pressed=true]{background:var(--soft);border-color:var(--primary);color:var(--primary)}.teaching-editor-section{padding:14px}.editor-section[hidden],.editor-extras-heading[hidden],.teaching-editor-section>summary{display:none}.teaching-editor-section>.button:last-child{margin-top:16px}@media (width<=600px){.editor-guide-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.editor-guide-three .guide-number{display:none}.editor-guide-three .button{justify-content:center;padding:10px 4px;font-size:11px}.teaching-editor-section{padding:8px}}.material-editor .teaching-editor .field{margin:0}.material-editor .teaching-editor .field input,.material-editor .teaching-editor .field select,.material-editor .teaching-editor .field textarea{padding:9px;font-size:12px}.editor-tab-steps>h2,.editor-tab-steps>p:first-of-type,.editor-tab-steps .editor-readiness+p{display:none}.editor-tab-steps .exercise-edit-tabs{margin:12px 0}.instructor-help{max-width:1080px;margin:0 auto}.instructor-help .heading-row{align-items:flex-start;margin-bottom:24px}.instructor-help .subtitle{max-width:680px}.help-shortcut{color:var(--muted);white-space:nowrap;padding-top:6px;font-size:12px}.help-shortcut kbd{border:1px solid var(--border);font:inherit;border-radius:5px;margin-right:4px;padding:3px 7px}.help-video-block{scroll-margin-top:28px}.help-video-frame{aspect-ratio:16/9;border:1px solid var(--border);background:#090b11;border-radius:15px;overflow:hidden}.help-video-frame iframe{border:0;width:100%;height:100%;display:block}.help-video-caption{justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.help-video-caption h2{font-size:15px}.help-video-caption a{align-items:center;gap:6px;font-size:12px;display:inline-flex}.help-chapters{flex-wrap:wrap;gap:8px;margin:0 0 30px;display:flex}.help-chapters button{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;align-items:center;gap:7px;padding:9px 11px;font-size:12px;display:inline-flex}.help-chapters button:hover{border-color:var(--primary);background:var(--soft)}.help-chapters small{color:var(--muted);font-variant-numeric:tabular-nums}.help-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.help-step{border:1px solid var(--border);background:var(--surface);border-radius:12px;overflow:hidden}.help-image{border:0;border-bottom:1px solid var(--border);background:var(--bg);width:100%;padding:0;display:block;position:relative}.help-image img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.help-image span{color:#f5f3ff;background:#10121bdb;border-radius:5px;padding:3px 7px;font-size:10px;position:absolute;bottom:8px;right:8px}.help-step-copy{padding:18px}.help-step h2{align-items:flex-start;gap:9px;margin-bottom:12px;font-size:16px;display:flex}.help-step h2>span{background:var(--soft);color:var(--primary);text-align:center;border-radius:6px;min-width:23px;font-size:13px;line-height:23px}.help-step p{color:var(--muted);font-size:13px;line-height:1.65}.help-watch{color:var(--primary);text-align:left;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:7px;padding:15px 0 0;font-size:12px;display:inline-flex}.help-watch small{color:var(--muted)}.help-note{background:var(--soft);color:var(--muted);border-radius:10px;align-items:flex-start;gap:11px;margin-top:22px;padding:17px;font-size:13px;display:flex}.help-note svg{color:var(--primary);margin-top:1px}.help-dialog,.help-image-dialog{border:1px solid var(--border);background:var(--bg);color:var(--text);width:min(1180px,100vw - 32px);max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow);border-radius:16px;padding:0}.help-dialog::backdrop,.help-image-dialog::backdrop{background:#05060cbb}.help-dialog-bar{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.help-dialog-bar>span{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.help-dialog-content{padding:25px}.help-image-dialog{width:min(1400px,100vw - 32px)}.help-image-dialog>img{width:100%;display:block}.help-edit-toolbar{z-index:3;border:1px solid var(--border);background:var(--surface);border-radius:10px;justify-content:space-between;align-items:center;gap:15px;margin:0 0 22px;padding:13px;display:flex;position:sticky;top:0}.help-edit-toolbar>span{color:var(--muted);font-size:12px}.help-edit-toolbar>div{gap:8px;display:flex}.help-edit-fields{border:1px solid var(--border);border-radius:10px;gap:16px;min-width:0;margin:0 0 20px;padding:20px;display:grid}.help-edit-fields legend{padding:0 7px;font-weight:600}.help-edit-section{border-bottom:1px solid var(--border);gap:12px;min-width:0;padding-bottom:20px;display:grid}.help-edit-section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.help-edit-section-title>div{gap:5px;display:flex}.help-edit-section-title .button{padding:7px;font-size:12px}.help-edit-image{align-items:center;gap:20px;display:flex}.help-edit-image img{border:1px solid var(--border);border-radius:7px;width:200px;max-width:35%}.help-edit-chapter{grid-template-columns:minmax(0,1fr) 170px auto;align-items:start;gap:12px;display:grid}.help-edit-chapter>.button{margin-top:24px}.help-time-field{max-width:200px}@media (width<=900px){.help-steps{grid-template-columns:1fr}.help-step{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);display:grid}.help-image{border-bottom:0;align-self:start}}@media (width<=600px){.help-shortcut{display:none}.help-step{display:block}.help-video-caption{flex-direction:column;align-items:flex-start}.help-chapters{gap:6px}.help-dialog-content{padding:16px}.help-dialog-bar{padding:10px 14px}.help-edit-toolbar{flex-direction:column;align-items:stretch;gap:8px}.help-edit-toolbar>div{justify-content:flex-end}.help-edit-toolbar .button{padding:9px;font-size:12px}.help-edit-fields{padding:14px}.help-edit-chapter{grid-template-columns:minmax(0,1fr) auto}.help-edit-chapter>.field:first-child{grid-column:1/-1}.help-edit-image{flex-direction:column;align-items:flex-start}.help-edit-image img{max-width:100%}}.help-video-frame{position:relative}.help-video-cover{text-align:left;background:radial-gradient(ellipse at 80% 70%, #a78bfa1a, transparent 65%), var(--surface);width:100%;height:100%;color:var(--text);border:0;justify-content:center;align-items:center;gap:6%;padding:6%;display:flex}.help-cover-copy{gap:20px;min-width:0;max-width:470px;display:grid}.help-cover-tag{color:var(--primary);letter-spacing:.14em;font-size:11px;font-weight:600}.help-cover-copy>strong{letter-spacing:-.035em;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:clamp(22px,3vw,40px);line-height:1.2;display:-webkit-box;overflow:hidden}.help-cover-play{background:var(--primary);color:var(--on-primary);border-radius:9px;justify-self:start;align-items:center;gap:9px;padding:13px 18px;font-size:14px;font-weight:600;display:inline-flex}.help-cover-mascot{flex-shrink:0;width:clamp(80px,18vw,220px)}.help-cover-mascot svg{width:100%!important;height:auto!important}.help-video-cover:hover .help-cover-play{background:var(--primary-hover)}.help-video-loading{background:var(--bg);color:var(--muted);pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}@media (width<=600px){.help-cover-copy{gap:10px}.help-cover-play{padding:9px 11px;font-size:12px}.help-cover-tag{letter-spacing:.08em;font-size:9px}}:root{font-synthesis:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#10121b;--surface:#1a1e2b;--surface-hover:#272c3d;--border:#373c50;--text:#f5f3ff;--muted:#a3abc2;--primary:#a78bfa;--primary-hover:#c4b5fd;--on-primary:#171321;--success:#67e8b5;--warning:#fbbf24;--error:#fb7185;--soft:#a78bfa17;--code:#141722;--shadow:0 20px 80px #0003;background:var(--bg);color:var(--text);font-family:DM Sans,Segoe UI,sans-serif;font-size:15px;line-height:1.5}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f6fc;--surface:#fff;--surface-hover:#eeebf8;--border:#d8d3e5;--text:#171321;--muted:#565d74;--primary:#6d28d9;--primary-hover:#5b21b6;--on-primary:#fff;--success:#047857;--warning:#92400e;--error:#be123c;--soft:#6d28d90f;--code:#f0eef7;--shadow:0 20px 80px #27213e09}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--primary);text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin:0}h1{letter-spacing:-.045em;font-size:clamp(26px,3vw,34px);font-weight:650;line-height:1.2}h2{letter-spacing:-.025em;font-size:19px;font-weight:600;line-height:1.35}h3{font-size:15px;font-weight:600}small,.small{font-size:12px}svg{vertical-align:middle;flex-shrink:0}code,pre{font-family:Cascadia Code,Consolas,monospace}pre{margin:0}::selection{background:var(--primary);color:var(--on-primary)}.skip-link{z-index:100;background:var(--primary);color:var(--on-primary);padding:12px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:10px}.app-header{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:center;gap:20px;height:78px;padding:0 38px;display:flex}.brand{color:var(--text);letter-spacing:-.09em;align-items:center;gap:5px;font-size:31px;font-weight:700;display:flex}.header-right{align-items:center;gap:20px;font-size:13px;display:flex}.avatar{background:var(--soft);border:1px solid var(--border);width:35px;height:35px;color:var(--primary);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;display:inline-grid}.header-course{color:var(--muted)}.app-layout{--sidebar-width:216px;grid-template-columns:var(--sidebar-width) minmax(0, 1fr);min-height:calc(100vh - 78px);transition:grid-template-columns .28s cubic-bezier(.22,1,.36,1);display:grid}.sidebar{border-right:1px solid var(--border);flex-direction:column;gap:5px;min-width:0;padding:28px 15px;transition:padding .28s cubic-bezier(.22,1,.36,1);display:flex;overflow:hidden}.sidebar-heading{grid-template-columns:minmax(0,1fr) 32px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.sidebar-heading .nav-label{white-space:nowrap;min-width:0;padding:9px 0 9px 14px;transition:opacity .16s,padding .28s;overflow:hidden}.sidebar .sidebar-toggle{border:1px solid var(--border);border-radius:8px;grid-template-columns:1fr;place-items:center;width:32px;height:32px;padding:0;display:grid}.sidebar-toggle svg{transition:transform .28s cubic-bezier(.22,1,.36,1)}.sidebar-links{gap:5px;display:grid}.sidebar-link-label{white-space:normal;opacity:1;min-width:0;line-height:1.35;transition:opacity .16s,transform .28s;overflow:hidden;transform:translate(0)}.sidebar-backdrop{display:none}.nav-label{letter-spacing:.13em;color:var(--muted);padding:9px 14px 15px;font-size:10px}.sidebar a,.sidebar button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:9px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;padding:12px 14px;font-size:13px;transition:gap .28s,padding .28s,color .16s,background-color .16s;display:grid}.sidebar a>svg,.sidebar .side-footer button>svg{justify-self:center}.sidebar a:hover,.sidebar button:hover{background:var(--surface)}.sidebar a.active{background:var(--soft);color:var(--primary)}.side-footer{gap:5px;margin-top:auto;padding-top:90px;display:grid}@media (width>=801px){.app-layout.sidebar-collapsed{--sidebar-width:72px}.sidebar-collapsed .sidebar{padding-inline:12px}.sidebar-collapsed .sidebar-heading{grid-template-columns:0 32px;justify-content:center;gap:0}.sidebar-collapsed .nav-label{opacity:0;padding-left:0}.sidebar-collapsed .sidebar-toggle svg{transform:rotate(180deg)}.sidebar-collapsed .sidebar a,.sidebar-collapsed .sidebar .side-footer button{grid-template-columns:24px minmax(0,1fr);gap:0;padding-inline:12px}.sidebar-collapsed .sidebar-link-label{white-space:nowrap;opacity:0;transform:translate(-8px)}}.workspace{width:100%;min-width:0;max-width:1400px;margin:0 auto;padding:40px}.workspace>*+*{margin-top:26px}.mobile-menu,.mobile-bottom{display:none}.heading-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.eyebrow{letter-spacing:.15em;text-transform:uppercase;color:var(--primary);margin-bottom:10px;font-size:10px;font-weight:650;display:block}.subtitle{color:var(--muted);max-width:67ch;margin-top:10px;font-size:14px;line-height:1.7}.muted{color:var(--muted)}.accent{color:var(--primary)}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.buttons{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.button{border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text);border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:11px 17px;font-size:12px;font-weight:550;line-height:1.35;text-decoration:none;display:inline-flex}.button:hover{background:var(--surface-hover)}.button.primary{background:var(--primary);color:var(--on-primary);border-color:#0000}.button.primary:hover{background:var(--primary-hover)}.button.full{width:100%}.text-button{color:var(--primary);background:0 0;border:0;padding:0;font-size:13px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:15px;min-width:0;padding:24px}.panel>*+*{margin-top:16px}.panel.soft{background:var(--soft)}.stack{gap:18px;min-width:0;display:grid}.grid2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.grid3{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.badge{background:var(--surface-hover);min-height:23px;color:var(--muted);border-radius:5px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;line-height:1.4;display:inline-flex}.badge.purple{color:var(--primary);background:var(--soft)}.badge.green{color:var(--success);background:color-mix(in srgb, var(--success) 9%, transparent)}.badge.yellow{color:var(--warning);background:color-mix(in srgb, var(--warning) 9%, transparent)}.badge.red{color:var(--error);background:color-mix(in srgb, var(--error) 9%, transparent)}.meter{background:var(--surface-hover);border-radius:5px;height:6px;margin:16px 0;overflow:hidden}.meter>span{background:var(--primary);border-radius:5px;height:100%;transition:width .15s;display:block}.number{letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:12px;font-size:34px;font-weight:600;line-height:1.2}.metric-label{color:var(--muted);font-size:12px}.metric-detail{color:var(--muted);margin-top:8px;font-size:11px;display:block}.section-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;font-size:10px;display:block}.list-row{border-bottom:1px solid var(--border);align-items:center;gap:15px;padding:20px 0;display:flex}.list-row:last-child{border-bottom:0}.list-body{flex:1;min-width:0}.list-body p{color:var(--muted);margin-top:6px;font-size:12px}.list-symbol{background:var(--soft);width:38px;height:38px;color:var(--primary);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.notice{background:var(--soft);color:var(--primary);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:15px 17px;font-size:13px;display:flex}.notice.error{color:var(--error);background:color-mix(in srgb, var(--error) 9%, transparent)}.notice.success{color:var(--success);background:color-mix(in srgb, var(--success) 9%, transparent)}.empty{text-align:center;justify-items:center;padding:36px;display:grid}.empty p{max-width:45ch}.loading{min-height:260px;color:var(--muted);justify-content:center;align-items:center;gap:15px;padding:30px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{z-index:40;background:var(--surface);border:1px solid var(--primary);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:20px;max-width:calc(100% - 32px);padding:15px 24px;font-size:13px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast button{color:var(--muted);background:0 0;border:0}.nox-note{background:var(--soft);border:1px solid var(--border);border-radius:13px;align-items:flex-start;gap:14px;padding:20px;display:flex}.nox-note>div{flex:1;min-width:0}.note-copy{margin-top:8px;font-size:13px;line-height:1.8}.nox-note svg{margin-top:2px}.landing{max-width:1400px;margin:auto}.hero{background:radial-gradient(ellipse at 80% 50%, var(--soft), transparent 55%);grid-template-columns:1.3fr 1fr;align-items:center;gap:50px;min-height:590px;padding:85px 64px 75px;display:grid}.hero h1{letter-spacing:-.055em;margin:18px 0;font-size:clamp(40px,5vw,64px);line-height:1.1}.hero h1 em{color:var(--primary);font-style:normal}.hero p{max-width:43ch;color:var(--muted);font-size:16px;line-height:1.8}.hero .buttons{margin-top:28px}.hero-detail{margin-top:18px;font-size:11px!important}.mascot-stage{justify-items:center;gap:22px;display:grid}.speech{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:15px;max-width:280px;padding:18px 22px;font-size:13px;line-height:1.7}.feature-row{border-top:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:45px;padding:35px 64px;display:grid}.feature-row h3{margin-bottom:9px;font-size:14px}.feature-row p{color:var(--muted);font-size:13px;line-height:1.8}.landing-foot{color:var(--muted);justify-content:space-between;gap:20px;padding:30px 64px;font-size:12px;display:flex}.auth{grid-template-columns:minmax(0,375px) minmax(0,270px);justify-content:center;align-items:center;gap:100px;min-height:100svh;padding:60px 24px;display:grid}.auth form{margin-top:28px}.auth h1{font-size:32px}.auth-login{grid-template-columns:minmax(0,430px) minmax(0,360px);gap:clamp(60px,8vw,150px)}.login-panel{border:1px solid var(--border);background:var(--surface);border-radius:18px;padding:36px}.login-brand{color:var(--primary);letter-spacing:-1.5px;margin-bottom:24px;font-size:30px;font-weight:800}.auth-login h1{letter-spacing:-.6px;font-size:26px}.auth-login .auth-foot{margin-top:16px!important}.auth-legal{flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:28px;font-size:11px;display:flex}.auth-legal a{color:var(--muted)}.course-context{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:30px;font-size:12px;display:flex}.course-context>span{color:var(--muted)}.course-context nav{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-basis:100%;gap:6px;margin-top:8px;display:flex}.course-context nav a{color:var(--muted);border-bottom:2px solid #0000;padding:10px 14px}.course-context nav a.active{color:var(--primary);border-bottom-color:var(--primary)}.course-card-actions{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.semester-list{margin-bottom:42px}.home-screen{flex-direction:column;min-height:calc(100svh - 175px);display:flex}.home-screen>h1{letter-spacing:0;margin:0;font-size:15px;font-weight:600}.home-content{width:min(100%,900px);margin:auto;padding:72px 0}.home-welcome{grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:64px;display:grid}.home-welcome.without-mascot{grid-template-columns:1fr}.home-welcome h2{letter-spacing:-1.4px;overflow-wrap:anywhere;margin:0 0 16px;font-size:clamp(32px,3.3vw,48px);line-height:1.2}.home-welcome p{color:var(--muted);margin:0;font-size:19px;line-height:1.8}.home-mascot{place-items:center;display:grid}.home-quote{max-width:730px;margin-top:70px}.home-quote:before{content:"";background:var(--primary);opacity:.65;width:66px;height:1px;margin-bottom:20px;display:block}.home-quote h3{color:var(--primary);margin:0;font-size:14px;font-weight:500}.home-quote-content{min-height:65px;padding-top:14px}.home-quote blockquote{overflow-wrap:anywhere;margin:0;font-size:21px;line-height:1.65}.quote-next{color:var(--muted);background:0 0;border:0;border-radius:4px;align-items:center;gap:13px;margin-top:16px;padding:8px 0;font-size:13px;display:inline-flex}.quote-next:hover{color:var(--primary)}.quote-next:disabled{cursor:default;opacity:.5}.quote-admin-form{max-width:760px;margin-top:22px}.quote-admin-form textarea{min-height:120px}.quote-admin-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.quote-admin-row:last-child{border-bottom:0}.quote-admin-row>div{min-width:0}.quote-admin-row p{overflow-wrap:anywhere;margin:0 0 12px}@media (width<=1000px){.home-welcome{grid-template-columns:minmax(0,1fr) 200px;gap:30px}.home-mascot .nox-mascot{width:200px!important;height:200px!important}.home-welcome p{font-size:17px}}@media (width<=600px){.home-screen{min-height:calc(100svh - 190px)}.home-content{margin:0;padding:34px 0 10px}.home-welcome{text-align:center;flex-direction:column-reverse;gap:22px;display:flex}.home-mascot .nox-mascot{width:150px!important;height:150px!important}.home-welcome h2{letter-spacing:-.8px;font-size:30px}.home-welcome p{font-size:15px;line-height:1.8}.home-quote{margin-top:42px}.home-quote blockquote{font-size:18px}.home-quote h3{font-size:13px}.quote-admin-row{flex-wrap:wrap;gap:14px}}.teacher-home .home-content{text-align:center;margin:auto;padding:32px 0}.teacher-home .home-welcome{grid-template-columns:minmax(0,1fr);gap:12px;display:grid}.teacher-home .home-welcome h2{margin:0}.teacher-home .home-mascot .nox-mascot{aspect-ratio:1;width:min(100%,360px)!important;height:auto!important}.teacher-home .home-quote{margin:24px auto 0}.teacher-home .home-quote:before{margin-inline:auto}@media (width<=600px){.teacher-home .home-content{padding:28px 0 10px}.teacher-home .home-mascot .nox-mascot{width:min(100%,240px)!important}}.report-export-description{margin:0 0 24px}.report-charts{gap:24px;margin:24px 0;display:grid}.report-charts h2{margin-top:0}.report-legend{color:var(--muted);flex-wrap:wrap;gap:18px;margin:20px 0;font-size:12px;display:flex}.report-legend span{align-items:center;gap:7px;display:inline-flex}.report-legend i{border-radius:3px;width:10px;height:10px}.report-completed{background:#50bd98}.report-started{background:#ac91ef}.report-unstarted{background:var(--border)}.report-task-chart{max-height:430px;padding-right:6px;overflow:auto}.report-task-row{grid-template-columns:minmax(140px,1fr) minmax(100px,1.4fr) 140px;align-items:center;gap:20px;padding:12px 0;display:grid}.report-task-label{overflow-wrap:anywhere;flex-direction:column;gap:5px;min-width:0;display:flex}.report-task-label strong{font-size:14px}.report-task-label small{font-size:11px}.report-stacked-bar{background:var(--border);border-radius:5px;height:16px;display:flex;overflow:hidden}.report-task-count{color:var(--muted);text-align:right;font-size:12px}.report-outcome{margin-top:20px}.report-outcome>div:first-child{justify-content:space-between;gap:14px;margin-bottom:8px;font-size:13px;display:flex}.report-outcome-track{background:var(--border);border-radius:4px;height:10px;overflow:hidden}.report-outcome-track span{border-radius:4px;height:100%;display:block}.report-daily-chart{width:100%;height:auto;margin-top:16px;overflow:visible}.report-daily-chart line{stroke:var(--border)}.report-daily-chart rect{fill:var(--primary)}.report-daily-chart text{fill:var(--muted);font-size:11px}.report-chart-empty{text-align:center;padding:36px 0}.report-daily-details{margin-top:16px;font-size:13px}.report-daily-details .table-wrap{max-height:280px;overflow:auto}.report-raw-export{font-size:12px}.report-raw-export .button{margin-top:12px}@media (width<=600px){.report-task-row{grid-template-columns:1fr auto;gap:10px}.report-task-label{grid-column:1/-1}.report-task-count{font-size:11px}.report-legend{gap:12px}}.semester-group{margin:0 0 40px}.semester-heading{flex-direction:column;align-items:center;gap:9px;margin-bottom:22px;display:flex}.semester-heading h2{letter-spacing:.5px;margin:0;font-size:23px;font-weight:600}.semester-heading>span{color:var(--primary);background:var(--soft);border-radius:20px;padding:4px 10px;font-size:10px}.semester-courses{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.course-select-card{text-align:center;min-height:160px;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:16px;flex:0 calc(50% - 10px);justify-content:center;align-items:center;padding:30px;transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s;display:flex;box-shadow:0 4px 12px #0000000d}.course-select-card h3{overflow-wrap:anywhere;margin:0;font-size:21px;line-height:1.4}.course-select-card:hover,.course-select-card:focus-visible{border-color:var(--primary);color:var(--text);background:color-mix(in srgb, var(--primary) 6%, var(--surface));box-shadow:0 14px 32px #00000026, 0 0 0 1px color-mix(in srgb, var(--primary) 18%, transparent);transform:translateY(-4px)}.course-select-card:active{transform:translateY(-1px)}.semester-empty{text-align:center;color:var(--muted);padding:22px;font-size:13px}.semester-settings{margin-top:32px}.semester-settings form{margin-top:20px}@media (width<=600px){.course-select-card{flex-basis:100%;min-height:140px;padding:24px}.course-select-card h3{font-size:19px}}@media (prefers-reduced-motion:reduce){.course-select-card:hover,.course-select-card:focus-visible{transition:none;transform:none}}:root[data-reduced=true] .course-select-card:hover,:root[data-reduced=true] .course-select-card:focus-visible{transform:none}.achievement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.achievement-summary>div{background:var(--surface);border:1px solid var(--border);border-radius:14px;gap:10px;padding:20px 24px;display:grid}.achievement-summary span{color:var(--muted);font-size:12px}.achievement-summary strong{font-size:30px;line-height:1.2}.achievement-summary small{color:var(--muted);font-size:15px;font-weight:400}.badge-showcase{border:1px solid var(--border);background:radial-gradient(ellipse at 50% 0, color-mix(in srgb, var(--primary) 12%, transparent), transparent 65%), var(--surface);border-radius:20px;margin-bottom:28px;padding:28px;overflow:hidden}.showcase-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.showcase-heading h2{margin:7px 0 0}.badge-filters{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.badge-filters button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:8px 12px;font-size:12px}.badge-filters button[aria-pressed=true]{background:var(--soft);color:var(--primary)}.badge-shelves{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:22px;display:grid}.achievement-card{text-align:center;border:1px solid color-mix(in srgb, var(--border) 65%, transparent);background:linear-gradient(160deg, color-mix(in srgb, var(--text) 3%, transparent), transparent);min-width:0;color:var(--text);border-radius:14px;flex-direction:column;align-items:center;padding:20px 12px 25px;display:flex;position:relative;box-shadow:0 14px 18px -18px #000}.achievement-card:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--primary) 35%, var(--border)), transparent);border-radius:0 0 4px 4px;height:5px;position:absolute;inset:auto 12px -6px;box-shadow:0 10px 17px #0003}.achievement-card:hover{border-color:var(--primary);background-color:var(--soft)}.badge-art{place-items:center;width:136px;height:145px;margin-bottom:12px;display:grid;position:relative}.badge-art img{object-fit:contain;filter:drop-shadow(0 10px 16px #0004);width:136px;height:136px}.locked .badge-art img{filter:grayscale(.9);opacity:.45}.badge-state{background:var(--bg);border:1px solid var(--border);width:24px;height:24px;color:var(--muted);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:9px;right:4px}.earned .badge-state{color:#8cf0d2;background:#113e39;border-color:#64d6ba}.achievement-card h3{overflow-wrap:anywhere;margin:0;font-size:15px}.achievement-card p{color:var(--muted);margin:6px 0 16px;font-size:11px}.badge-progress-label,.badge-earned-date{color:var(--muted);margin-top:auto;font-size:11px}.earned .badge-earned-date{color:var(--primary)}.achievement-card progress{width:80%;height:4px;accent-color:var(--primary);margin-top:10px}.badge-empty{text-align:center;color:var(--muted);padding:44px 20px}.badge-dialog{border:1px solid var(--border);background:var(--surface);width:min(430px,100vw - 32px);color:var(--text);text-align:center;border-radius:22px;margin:auto;padding:32px}.badge-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#090b16bd}.badge-dialog>img{object-fit:contain;width:190px;height:190px;margin:0 auto 22px;display:block}.badge-dialog h2{margin:10px 0}.badge-dialog p{font-size:14px}.dialog-close{background:var(--bg);color:var(--text);border:0;border-radius:8px;padding:8px;position:absolute;top:14px;right:14px}.badge-detail-status{background:var(--soft);color:var(--primary);border-radius:10px;margin-top:20px;padding:14px;font-size:12px}.calendar-controls{align-items:center;gap:8px;display:flex}.calendar-controls .button{padding:8px}.calendar-controls input{background:var(--bg);max-width:180px;color:var(--text);border:1px solid var(--border);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;border-radius:8px;padding:8px;font-size:13px}[data-theme=light] .calendar-controls input{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.calendar-weekdays{text-align:center;color:var(--muted);margin-bottom:10px;font-size:12px}.calendar-grid button{border:1px solid var(--border);background:var(--bg);min-height:64px;color:var(--text);text-align:left;border-radius:10px;padding:10px 12px;font-size:13px;position:relative}.calendar-grid .outside{opacity:.35}.calendar-grid button:disabled{opacity:.25;cursor:default}.calendar-grid .studied{background:color-mix(in srgb, #56c9aa 13%, var(--bg));border-color:color-mix(in srgb, #56c9aa 45%, var(--border))}.calendar-grid .today{box-shadow:inset 0 0 0 1px var(--primary)}.calendar-grid button[aria-pressed=true]{outline:2px solid var(--primary);outline-offset:2px}.calendar-check{color:#65d9b8;position:absolute;bottom:7px;right:8px}.calendar-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:22px;font-size:11px;display:flex}.calendar-footer i{background:#65d9b8;border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.calendar-footer p{margin:0}.badge-admin-form{grid-template-columns:1fr 1fr;gap:20px;margin-top:20px;display:grid}.badge-admin-form>.buttons{grid-column:1/-1}.badge-admin-preview{object-fit:contain;width:100px;height:100px}.badge-admin-row{border-bottom:1px solid var(--border);align-items:center;gap:18px;padding:16px 0;display:flex}.badge-admin-row>img{object-fit:contain;width:64px;height:64px}.badge-admin-row>div{overflow-wrap:anywhere;flex:1;min-width:0}@media (width<=600px){.achievement-summary{gap:8px}.achievement-summary>div{padding:14px 10px}.achievement-summary span{font-size:10px}.achievement-summary strong{font-size:24px}.achievement-summary small{font-size:12px}.badge-showcase{padding:20px 14px 28px}.badge-shelves{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 10px}.badge-art,.badge-art img{width:105px;height:112px}.achievement-card{padding:12px 7px 20px}.badge-filters button{padding:8px;font-size:11px}.calendar-grid,.calendar-weekdays{gap:5px}.calendar-grid button{min-height:47px;padding:7px;font-size:12px}.calendar-controls{gap:4px}.calendar-controls input{max-width:160px}.badge-admin-form{grid-template-columns:1fr}.badge-admin-row{flex-wrap:wrap;gap:10px}}@media (width<=800px){.auth.auth-login{grid-template-columns:minmax(0,430px);gap:28px;padding:32px 20px}.auth-login .login-panel{padding:28px 24px}}.field{gap:8px;margin-bottom:20px;font-size:12px;display:grid}.field input,.field select,.field textarea,.inline-field select{background:var(--bg);border:1px solid color-mix(in srgb, var(--border), var(--muted) 35%);color:var(--text);border-radius:8px;width:100%;min-width:0;padding:12px 13px;font-size:14px}.field textarea{resize:vertical;min-height:110px;line-height:1.7}.field.code-field textarea{tab-size:4;min-height:180px;font-family:Consolas,monospace;font-size:12px}.field>small{color:var(--muted)}.inline-field{color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.inline-field select{width:auto;padding:9px;font-size:12px}.check{color:var(--muted);align-items:flex-start;gap:10px;margin:18px 0;font-size:12px;display:flex}.check input{accent-color:var(--primary);flex-shrink:0;width:17px;height:17px;margin:1px 0 0}.auth-foot{text-align:center;color:var(--muted);font-size:12px;margin-top:24px!important}.demo-access{border-top:1px solid var(--border);color:var(--muted);margin-top:28px;padding-top:18px;font-size:12px}.demo-access summary{cursor:pointer}.demo-access .buttons{margin-top:12px}.auth .notice{margin:20px 0}.choice{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;align-items:center;gap:15px;width:100%;margin:12px 0;padding:18px;font-size:14px;display:flex}.choice.selected{border-color:var(--primary);background:var(--soft)}.choice.correct{border-color:var(--success)}.choice.wrong{border-color:var(--error)}.choice-key{background:var(--surface-hover);border-radius:6px;flex-shrink:0;place-items:center;width:30px;height:30px;font-size:12px;display:grid}.week-tile{color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:25px;display:block}.week-tile:hover{border-color:var(--primary)}.week-tile h2{margin-top:20px}.week-tile .subtitle{font-size:12px}.breadcrumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:20px;font-size:11px;display:flex}.save-status{align-items:center;gap:6px;margin-left:auto;display:inline-flex}.segmented{border:1px solid var(--border);background:var(--surface);border-radius:9px;flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:flex}.segmented button[aria-pressed=true]{background:var(--surface-hover);color:var(--text)}.lesson-page{max-width:1350px;margin:0 auto;padding:34px 40px}.lesson-page>.row,.lesson-page>.notice{margin-top:24px}.learning-grid{grid-template-columns:.8fr 1.2fr;align-items:start;gap:22px;margin-top:24px;display:grid}.task-prompt{font-size:15px;line-height:1.9}.task-prompt mark{background:var(--soft);color:var(--primary);border-radius:4px;padding:2px 3px}details{color:var(--muted);margin-top:15px;font-size:12px}summary{cursor:pointer}.prompt-spans{gap:7px;margin-top:14px;display:grid}.prompt-spans button{color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;padding:8px;font-size:12px}.prompt-spans .highlight{background:var(--soft);color:var(--primary)}.code-panel{border:1px solid var(--border);background:var(--code);border-radius:13px;min-width:0;overflow:hidden}.code-header{border-bottom:1px solid var(--border);color:var(--muted);justify-content:space-between;padding:13px 18px;font-size:11px;display:flex}.code-header span{align-items:center;gap:8px;display:flex}.code-scroll{padding:18px 0;overflow:auto}.code-line{white-space:pre;align-items:baseline;gap:18px;min-width:max-content;padding:7px 18px;font-size:13px;line-height:1.6;display:flex}.code-line button{font:inherit;text-align:left;white-space:pre;background:0 0;border:0;padding:0}.line-number{color:var(--muted);text-align:right;min-width:16px;font-size:11px;display:inline-block}.code-line.active{background:var(--soft);box-shadow:inset 2px 0 var(--primary)}.code-line.unrevealed{opacity:.3}.syntax-keyword{color:var(--primary)}.syntax-string{color:var(--success)}.syntax-number{color:var(--warning)}.state-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.state-grid .panel{height:100%;padding:18px}.variable{border-bottom:1px solid var(--border);justify-content:space-between;gap:15px;padding:8px 0;font-size:12px;display:flex}.variable>span{text-align:right;overflow-wrap:anywhere}.variable small{color:var(--muted);font-size:10px;display:block}.return-value{background:var(--soft);border-radius:6px;padding:10px;font-size:12px}.return-value small{color:var(--muted);margin-bottom:4px;display:block}.output{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--code);border-radius:7px;min-height:54px;padding:13px;font-size:13px}.player-controls{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:25px;padding-top:22px;display:flex}.lesson-footer{margin:22px 0}.lesson-footer small{align-items:center;gap:7px;display:flex}.mobile-tabs{display:none}.quiz{max-width:640px;min-height:650px;margin:0 auto;padding:45px 30px}.quiz>*+*{margin-top:24px}.quiz h1{font-size:29px}.feedback{border:1px solid var(--border);background:var(--surface);border-radius:12px;padding:24px}.feedback h2{color:var(--success)}.feedback.incorrect h2{color:var(--error)}.feedback p{color:var(--muted);margin-top:12px;font-size:14px;line-height:1.8}.finish{text-align:center;justify-items:center;gap:18px;padding:25px 0;display:grid}.finish .subtitle{margin:auto}.finish .number{color:var(--primary)}.chart{align-items:flex-end;gap:15px;height:180px;padding:20px 5px 0;display:flex}.chart-col{height:100%;color:var(--muted);flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:7px;font-size:10px;display:flex}.chart-bar{background:var(--primary);opacity:.75;border-radius:5px 5px 0 0;width:100%;max-width:40px;min-height:0}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.table th{border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;letter-spacing:.07em;padding:13px 10px;font-size:10px;font-weight:500}.table td{border-bottom:1px solid var(--border);padding:17px 10px}.table td:last-child{text-align:right}.table td small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.table .buttons{justify-content:flex-end}.settings-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:25px;padding:20px 0;display:flex}.settings-row:last-child{border:0}.settings-row p{color:var(--muted);margin-top:6px;font-size:12px}.switch{width:20px;height:20px;accent-color:var(--primary);flex-shrink:0}.editor-step-list{flex-wrap:wrap;gap:7px;display:flex}.editor-step-list button{border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:7px;padding:8px 12px;font-size:12px}.editor-step-list button.active{color:var(--primary);border-color:var(--primary);background:var(--soft)}.editor-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.editor-grid .field{margin-top:15px}.chips-input{flex-wrap:wrap;gap:6px;display:flex}.chips-input label{border:1px solid var(--border);border-radius:5px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:flex}.value-fields{grid-template-columns:1fr 80px 1fr 36px;align-items:start;gap:7px;margin:8px 0;display:grid}.value-fields input,.value-fields select{background:var(--bg);width:100%;min-width:0;color:var(--text);border:1px solid var(--border);border-radius:5px;padding:8px;font-size:11px}.value-fields button{color:var(--muted);background:0 0;border:0;padding:7px}.legal{max-width:820px;margin:0 auto;padding:50px 28px}.legal>*+*{margin-top:25px}.legal p,.legal li{color:var(--muted);font-size:14px;line-height:1.8}@media (width>=1450px){.workspace{padding:50px 65px}.lesson-page{padding-top:40px}}@media (width<=1050px){.app-layout{--sidebar-width:180px}.workspace{padding:30px}.grid3{gap:12px}.panel{padding:20px}.learning-grid{grid-template-columns:1fr 1.25fr;gap:16px}.lesson-page{padding:28px}.hero{padding:65px 40px}.auth{gap:60px}}@media (width<=800px){.app-layout{grid-template-columns:1fr}.sidebar{z-index:40;width:min(280px,100vw - 48px);padding:22px 15px max(85px, calc(65px + env(safe-area-inset-bottom)));background:var(--bg);opacity:0;visibility:hidden;pointer-events:none;transition:transform .28s cubic-bezier(.22,1,.36,1),opacity .18s,visibility 0s .28s;position:fixed;top:70px;bottom:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar .sidebar-toggle{display:none}.sidebar-heading{grid-template-columns:minmax(0,1fr)}.sidebar-backdrop{z-index:30;opacity:0;visibility:hidden;pointer-events:none;background:#0007;border:0;border-radius:0;padding:0;transition:opacity .18s,visibility 0s .28s;display:block;position:fixed;inset:70px 0 0}.sidebar-backdrop.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.app-header{height:70px;padding:0 22px}.header-course{display:none}.workspace{padding:28px 22px 95px}.mobile-menu{background:0 0;border:0;padding:8px;display:inline-flex}.sidebar.open{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:translate(0)}.side-footer{padding-top:20px}.mobile-bottom{z-index:20;border-top:1px solid var(--border);background:var(--surface);padding:10px 5px max(10px, env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-bottom a{color:var(--muted);justify-items:center;gap:4px;min-width:55px;font-size:10px;display:grid}.mobile-bottom a.active{color:var(--primary)}.hero{grid-template-columns:1fr;gap:30px;padding:45px 28px}.hero h1{font-size:46px}.hero .mascot-stage{padding:20px 0}.feature-row{gap:25px;padding:30px 28px}.landing-foot{padding:25px 28px}.auth{grid-template-columns:minmax(0,390px);gap:0;padding:45px 24px}.auth-aside{display:none}.lesson-page{padding:24px 20px 40px}.learning-grid{grid-template-columns:1fr}.learning-grid>.stack:first-child{gap:14px}.mobile-tabs{display:flex}.player-code,.player-state,.player-output{display:none}.mobile-visible,.state-grid{display:block}.state-grid .panel{margin-top:0}.code-scroll{padding:12px 0}.code-line{gap:12px;padding:6px 13px;font-size:12px}.task-prompt{font-size:14px}.lesson-page .heading-row h1{font-size:26px}.nox-note{padding:15px}.player-controls{margin-top:20px}.speed,.lesson-footer small{display:none}.toast{gap:12px;max-width:none;padding:12px 16px;bottom:85px;left:16px;right:16px;transform:none}.editor-grid{grid-template-columns:1fr}.app-layout:has(.lesson-page){display:block}.lesson-mode .mobile-bottom{display:none}}@media (width<=570px){.grid2,.grid3{grid-template-columns:1fr}.header-right{gap:13px}.header-right .button{padding:9px 12px;font-size:11px}.brand{font-size:27px}.brand .nox-mascot{width:33px!important;height:33px!important}.workspace{padding:25px 18px 90px}.hero{padding:38px 23px}.hero h1{font-size:39px}.hero p{font-size:14px}.feature-row{grid-template-columns:1fr;gap:26px;padding:28px 23px}.feature-row>div{max-width:50ch}.landing-foot{flex-wrap:wrap;padding:25px 23px}.auth h1{font-size:28px}.list-row{flex-wrap:wrap;gap:10px;padding:17px 0}.list-row>.button{margin-left:48px}.list-body h3{font-size:14px}.heading-row{gap:15px}.heading-row>.buttons{width:100%}.panel{padding:18px}.number{font-size:29px}.breadcrumbs,.save-status{font-size:10px}.lesson-page{padding:22px 16px 30px}.segmented button{padding:8px 10px;font-size:11px}.inline-field{font-size:11px}.player-controls .button{padding:10px 13px}.quiz{padding:30px 20px}.quiz h1{font-size:25px}.quiz .row .button{flex:1}.choice{padding:15px;font-size:13px}.note-copy{font-size:12px}.table td{padding:14px 7px}.settings-row{gap:18px}.task-prompt{font-size:13px}.lesson-page .row{gap:12px}.value-fields{grid-template-columns:1fr 65px 1fr 30px}.hero .buttons>*{width:100%}.editor-step-list{gap:5px}.editor-step-list button{padding:8px}.toast{font-size:12px}.legal{padding:35px 22px}}@media (pointer:coarse){button,.button,input,select{min-height:44px}.field input,.field select,.field textarea{font-size:16px}.check input,.switch{min-height:20px}.mobile-bottom a{min-height:44px}.value-fields input,.value-fields select{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.nox-gaze{transform:none!important}}:root[data-reduced=true] *,:root[data-reduced=true] :before,:root[data-reduced=true] :after{transition:none!important;animation:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.mobile-nav-drawer{display:none}@media (width<=800px){.mobile-nav-drawer{border-bottom:1px solid var(--border);background:var(--surface);gap:5px;padding:18px;display:grid}.mobile-nav-drawer a{color:var(--text);border-radius:7px;align-items:center;gap:12px;padding:12px;display:flex}.mobile-nav-drawer a.active{background:var(--soft);color:var(--primary)}}@media (width<=570px){.app-header{padding-left:16px;padding-right:16px}}.p1-cards .number{overflow-wrap:anywhere;margin:10px 0;font-size:28px}.p1-cards .number small{margin-left:4px;font-size:13px;font-weight:400}.p1-cards .meter{margin:12px 0}.evidence-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:18px;padding:20px 0;display:flex}.evidence-row:last-of-type{border-bottom:0}.evidence-row>div{min-width:0}.evidence-row .small{margin-top:7px}.evidence-row .button,.evidence-row .badge{flex-shrink:0}.study-calendar{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.reward-list{margin-top:15px}@media (width<=650px){.evidence-row{flex-direction:column;align-items:flex-start}.evidence-row .button{justify-content:center;align-self:stretch}.p1-cards .number{font-size:28px}}.nox-arm-left{transform-origin:27px 91px}.nox-arm-right{transform-origin:113px 88px}.nox-guide{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px;min-width:0;padding:18px 0 8px;display:grid}.nox-guide.quiet{grid-template-columns:1fr;padding-top:0}.nox-guide-character{flex-direction:column;align-self:center;align-items:center;display:flex;position:relative}.nox-guide-character .nox-mascot{cursor:grab;flex:none}.nox-pet-hint{text-align:center;color:var(--muted);margin-top:3px;font-size:10px;line-height:1.4}.nox-thought-bubble{background:var(--soft);border:1px solid var(--border);border-radius:25px;min-width:0;padding:21px;position:relative}.nox-thought-bubble h3{color:var(--primary);margin-bottom:10px;font-size:13px}.nox-thought-bubble p{overflow-wrap:anywhere;font-size:14px;line-height:1.7}.nox-bubble-dots{border:1px solid var(--border);background:var(--surface);pointer-events:none;border-radius:50%;width:14px;height:14px;position:absolute;top:calc(50% + 12px);left:-21px}.nox-bubble-dots:before{content:"";border:1px solid var(--border);background:var(--surface);border-radius:50%;width:7px;height:7px;position:absolute;top:13px;left:-13px}.nox-guide.quiet .nox-bubble-dots{display:none}@media (width<=650px){.nox-guide{grid-template-columns:78px minmax(0,1fr);gap:12px}.nox-guide-character .nox-mascot{width:86px!important;height:86px!important}.nox-thought-bubble{border-radius:21px;padding:16px}.nox-thought-bubble p{font-size:13px}.nox-pet-hint{font-size:9px}.nox-guide.quiet{grid-template-columns:1fr}}.header-course{align-items:center;gap:10px;min-width:0;display:flex}.header-course select{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;max-width:min(42vw,400px);padding:8px 12px}@media (width<=820px){.header-course{display:none}}@media (width<=600px){.achievement-card h3{font-size:13px}}
