/* Shared responsive and accessibility fixes. */
[hidden]{display:none!important}body.dialog-open{overflow:hidden}img{max-width:100%}main{overflow-wrap:anywhere}button,input,select{font-family:inherit}a,button,input,select,summary{-webkit-tap-highlight-color:transparent}summary{cursor:pointer;min-height:44px;padding-block:10px}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--blue,#2855d9);outline-offset:4px}.module-lessons{display:grid;gap:14px;margin-block:28px}.module-lessons>a{text-decoration:none}.glossary-list{display:grid;gap:12px}.glossary-list button{text-align:start;color:var(--ink);font:inherit;cursor:pointer}.library-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-block:20px}.library-filters label{display:grid;gap:5px;font-size:14px}.library-filters select{width:100%;max-width:100%}.library-filters button{align-self:end}.workflow-preview{margin:20px 0;border:1px solid var(--line);border-radius:18px;padding:24px;background:var(--paper)}.workflow-preview figcaption>p{font-size:14px;color:var(--muted)}.workflow-preview h3{margin-block:12px}.workflow-goal{border-inline-start:4px solid var(--blue);padding:14px 18px;background:var(--soft);margin-block:22px}.workflow-goal p{margin:8px 0 0}.workflow-map{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;counter-reset:steps}.workflow-map li{min-width:0}.workflow-map a{display:flex;align-items:flex-start;gap:12px;height:100%;padding:18px;border:1px solid var(--line);border-radius:12px;text-decoration:none}.workflow-map span{flex:none;border-radius:50%;display:grid;place-items:center;width:36px;height:36px;background:var(--soft);color:var(--blue);font-weight:800;direction:ltr}.workflow-map p{margin:0;font-size:14px}.workflow-map a:hover{border-color:var(--blue)}.example-steps{padding-inline-start:24px}.example-steps li{margin-block:14px}.worked-example{background:var(--paper);padding:24px!important;border:1px solid var(--line);border-radius:18px;margin-block:28px}.worked-example h2{font-size:28px;line-height:1.25}.worked-example h3{font-size:20px}.rtl h1,.rtl h2,.rtl h3{letter-spacing:normal;line-height:1.4}.rtl .eyebrow,.rtl .label,.rtl .meta{letter-spacing:normal}.resource-link small{direction:ltr;unicode-bidi:isolate;text-align:start}.topin>.brand{white-space:nowrap}.card:focus-visible{outline-offset:3px}.lesson-visual button:focus-visible{outline-offset:-4px}.theme-toggle{flex-shrink:0}.dialog-inner{overflow-wrap:anywhere}#quiz-feedback{min-height:1.5em}
@media(max-width:1100px){.topin{gap:12px}.nav{gap:10px}.nav a{font-size:13px}}
@media(max-width:600px){.library-filters,.workflow-map{grid-template-columns:1fr}.workflow-preview{padding:16px}.workflow-map a{padding:14px}.worked-example{padding:18px!important}.topin{gap:8px}.topin>.brand{font-size:13px;letter-spacing:-.02em}.topin>select{width:94px;min-width:0;margin-inline-start:auto;padding-inline:6px;font-size:12px}.topin>.theme-toggle,.topin>.menu-toggle,.site-menu-toggle{width:44px;min-width:44px;flex-shrink:0}.shell{padding-inline:16px}.topin{padding-inline:12px}.card{padding:16px}.resource-link{overflow-wrap:anywhere}.article .deck{font-size:19px}.sidebar{max-width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}

@media(max-width:380px){.topin{gap:6px}.topin>.brand{font-size:11px}.topin>select{width:82px}}
.rubric{display:block;max-width:100%;overflow-x:auto}.filetree{max-width:100%;overflow-x:auto}

/* Keep the theme control in the header, away from reading text. */
.topin #themeToggle{position:static!important;inset:auto!important;transform:none!important;width:44px!important;height:44px!important;min-width:44px!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important;padding:0!important;z-index:auto!important}
.topin #themeToggle::before{display:none}.topin #themeToggle:hover{transform:none!important}
@media(max-width:600px){.topin #lang{flex:none;width:94px!important;max-width:94px!important}.topin>.brand{flex-shrink:0}}
@media(max-width:380px){.topin #lang{width:82px!important;max-width:82px!important}}
