/* Shared UX polish: clearer controls, keyboard access, mobile tap targets, and safer destructive actions. */
:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}button:disabled,select:disabled{cursor:not-allowed;opacity:.5}.srOnly{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.controlLabel{display:block;font-size:12px;font-weight:750;color:#475467;margin:0 0 5px}.runOutput{border:1px solid #26344b}.runOutput[data-state="passed"]{border-color:#70c98a;background:#10271a}.runOutput[data-state="error"]{border-color:#ef9a9a}.toolRow button{min-height:40px}.navItem,.dsaRoadNode,.focusChip,.questionList button{min-height:38px}.dsaRoadNode{position:relative}.dsaRoadNode:after{content:"›";position:absolute;right:7px;color:#98a2b3;font-weight:800}.dsaFocusInner .focusRelated,.dsaFocusInner .focusQuestions{border-top:1px solid #e5eaf1;padding-top:10px}.dsaSharedLevel3{grid-column:1/-1}.dsaSharedLevel3>.dsCode{margin-top:10px}.dsaFocusInner.hasSharedLesson>.dsTeachGrid>.dsDiagram,.dsaFocusInner.hasSharedLesson>.dsTeachGrid>.dsCode{display:none!important}.dsaFocusInner.hasSharedLesson>.dsTeachOne{display:none}.dsaFocusInner.hasSharedLesson>.dsTeachGrid{display:block}.pyTopics button.active{box-shadow:inset 3px 0 #2563eb}.levelBar button.active{box-shadow:inset 0 -3px #2563eb}.pyExercise>b{font-size:16px}.dangerConfirm{border-color:#e7b1b1}@media(max-width:600px){button,select{min-height:40px}.navToggle{min-width:42px}.dsaRoadNode{min-height:42px;padding-right:18px}.pyTopics button{min-height:38px}.toolRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.toolRow button{width:100%;margin:0}.runPrimary{min-height:34px}.dsaVisualCaption{font-size:11px}}