/* Incumbent ivory / navy / restrained burgundy. All controls retain visible focus. */
.zm-hnav a,.zm-menu a,.zm-bottom a{color:#7b3546!important}
.zm-hnav a:hover,.zm-menu a:hover{background:#f4e9eb;color:#632638!important;border-radius:12px}
.zm-menu{gap:8px!important}.zm-menu a{display:flex!important;align-items:center;min-height:48px;padding:12px 16px!important;border:1px solid #e5d9d9;border-radius:14px;background:#fffcf7;font-weight:700}
.zm-menu a::after{content:'‹';margin-inline-start:auto;font-size:24px;padding-inline-start:14px}.zm-menu a:focus-visible,.zr-ask-launch:focus-visible,.zr-ask :is(button,input,select,a):focus-visible{outline:3px solid #7b3546;outline-offset:3px}
.zr-ask-launch{position:fixed;inset-inline-end:18px;bottom:24px;z-index:80;display:flex;align-items:center;gap:8px;min-height:54px;padding:5px 14px 5px 5px;border:1px solid #e3cbd0;border-radius:40px;background:#fffcf7;color:#7b3546;font:700 17px/1.3 inherit;box-shadow:0 6px 22px #17374722;cursor:pointer}
.zr-ask-launch img{border-radius:50%;object-fit:cover;width:46px;height:46px}.zr-ask-launch span{font-family:inherit;font-size:17px;font-weight:700}
.zr-dialog-open{overflow:hidden}.zr-ask{direction:rtl;color:#173747;background:#fffdf8;border:1px solid #e0d8ce;border-radius:24px;padding:22px;width:min(620px,calc(100vw - 24px));max-height:85dvh;box-sizing:border-box;overflow:auto;overscroll-behavior:contain;font-family:inherit;line-height:1.7;box-shadow:0 20px 80px #102a3840}
.zr-ask::backdrop{background:#102a3866}.zr-ask *{box-sizing:border-box}.zr-ask-head{display:flex;align-items:center;gap:12px;margin-bottom:16px}.zr-ask-head img{border-radius:50%;flex:none}.zr-ask-head h2{margin:0;color:#7b3546;font-size:25px}.zr-ask-head p{margin:2px 0 0;font-size:14px}.zr-ask button,.zr-ask input,.zr-ask select{font:inherit}.zr-close{margin-inline-start:auto;background:transparent;border:0;font-size:30px!important;color:#173747;cursor:pointer;min-width:44px;min-height:44px;align-self:flex-start}
.zr-search label{display:block;font-size:15px;font-weight:600}.zr-input-row{display:flex;gap:8px;margin-block:6px 14px}.zr-input-row input{flex:1;min-width:0;border:1px solid #b1bab9;background:white;border-radius:12px;padding:11px 12px;font-size:17px}.zr-input-row button{background:#7b3546;color:white;border:0;border-radius:12px;padding:10px 18px;cursor:pointer}.zr-filters{display:grid;grid-template-columns:1fr 1fr;gap:10px}.zr-filters select{display:block;width:100%;min-height:44px;border:1px solid #c8cdca;border-radius:10px;background:#fffdf8;color:#173747;padding:5px 8px;margin-top:4px}
.zr-examples,.zr-amb{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.zr-amb:empty{display:none}.zr-amb p{width:100%;margin:0}.zr-examples button,.zr-amb button{border:1px solid #dfc9ce;border-radius:20px;padding:6px 12px;min-height:40px;background:#f7eef0;color:#713243;cursor:pointer;font-size:14px}.zr-amb button[aria-pressed=true]{background:#7b3546;color:white}.zr-status{font-size:14px;color:#596b72;margin-block:14px 8px}.zr-results{list-style:none;margin:0;padding:0;display:grid;gap:10px}.zr-results a{display:grid;gap:5px;border:1px solid #e1e4df;border-radius:14px;padding:14px;color:#173747;background:#fff;text-decoration:none}.zr-results a:hover{border-color:#7b3546}.zr-result-type{color:#775965;font-size:12px}.zr-results strong{font-size:17px}.zr-results span:not(.zr-result-type){font-size:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.zr-results b{font-size:13px;color:#7b3546}.zr-footer{border-top:1px solid #e2e4df;padding-top:12px;font-size:14px}.zr-footer a{color:#7b3546;text-underline-offset:4px}
.zm-fan-card{cursor:pointer}.zm-fan-card:focus-visible{outline:3px solid #7b3546;outline-offset:5px}.zm-fan-card img{-webkit-user-drag:none;user-select:none}.zm-swipe-hint{display:none!important}
@media(max-width:849px){.zr-ask-launch{bottom:calc(83px + env(safe-area-inset-bottom,0px));inset-inline-end:12px;min-height:48px}.zr-ask-launch img{width:40px;height:40px}.zr-ask{padding:16px;max-height:88dvh}.zr-ask-head p{font-size:13px}.zr-ask-head img{width:46px;height:46px}.zm-kb-open .zr-ask-launch{display:none}.zm-fan-controls [data-feature-prev],.zm-fan-controls [data-feature-next]{display:none!important}.zm-fan-rail{touch-action:pan-x pan-y;cursor:grab}.zm-fan-rail:active{cursor:grabbing}}
@media(prefers-reduced-motion:reduce){.zr-ask *{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:849px){[data-feature-prev],[data-feature-next]{display:none!important}[data-feature-rail]{touch-action:pan-x pan-y}}

.zr-future,.zr-future-result{margin-block:20px;padding:18px;border:1px solid #cdd8d4;border-radius:16px;background:#f1f5f2}.zr-future summary{font-weight:700;color:#713243;cursor:pointer;min-height:44px}.zr-future p,.zr-future-result p{margin-block:12px;line-height:1.8}.zr-months{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.zr-field{display:grid;gap:6px;font-size:15px}.zr-field input{font:inherit;border:1px solid #96a9a8;border-radius:10px;background:white;padding:10px;min-width:0;width:100%}.zr-lmi-breakdown{display:grid;gap:0}.zr-lmi-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding-block:8px;border-bottom:1px solid #d5deda}.zr-lmi-breakdown dd{font-weight:700}.zr-future a,.zr-future-result a{color:#713243;text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.zr-months{grid-template-columns:1fr}.zr-future,.zr-future-result{padding:14px}}

/* Owner: centre back-to-top; keep clear of the two mobile corner actions. */
.zm-totop-float .zm-totop-row{inset-inline:auto;left:50%;right:auto;width:max-content;max-width:calc(100vw - 24px);transform:translate(-50%,12px)}
.zm-totop-float .zm-totop-row.zm-on{transform:translate(-50%,0)}
@media(max-width:849px){.zm-totop-float .zm-totop-row{inset-block-end:calc(148px + env(safe-area-inset-bottom,0px))}}

/* points tool, 21 Oct 2026 */
.zr-tier{margin-block:10px;padding:10px 12px;border-inline-start:4px solid #713243;background:#fff;border-radius:8px;line-height:1.8}

/* 4 Nov 2026 fix release (FIX-PLAN ج): one floating layer on every page. «اسألني» and «ثبّت» sit above the bottom bar
   (bar + 12px + safe area), stack on the inline end without touching, and leave completely while reading down. */
:root{--fab-bar:0px;--fab-gap:calc(var(--fab-bar) + 12px + env(safe-area-inset-bottom,0px))}
@media (max-width:1023px){:root{--fab-bar:var(--bar,56px)}}
html body #zm-ask-launch.zr-ask-launch{left:auto;right:auto;bottom:auto;inset-inline-start:auto;inset-inline-end:12px;inset-block-end:var(--fab-gap)}
html body .zm-dock{left:auto;right:auto;bottom:auto;inset-inline-start:auto;inset-inline-end:12px;inset-block-end:calc(var(--fab-gap) + 54px + 10px)}
@media (max-width:849px){html body .zm-dock{inset-block-end:calc(var(--fab-gap) + 48px + 10px)}}
html body .zm-dock .zm-dock-btn{width:48px;height:48px;min-height:48px;padding:0;border-radius:999px;font-size:0;justify-content:center}
html body .zm-dock .zm-dock-btn svg{width:26px;height:26px}
html body .zm-dock,html body #zm-ask-launch.zr-ask-launch{transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .2s ease,visibility 0s linear 0s}
html.zm-scroll-down body #zm-ask-launch.zr-ask-launch{transform:translateY(calc(100% + var(--fab-gap) + 8px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .2s ease,visibility 0s linear .2s}
html.zm-scroll-down body .zm-dock{transform:translateY(calc(100% + var(--fab-gap) + 66px));opacity:0;visibility:hidden;pointer-events:none;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .2s ease,visibility 0s linear .2s}
@media (prefers-reduced-motion:reduce){html body .zm-dock,html body #zm-ask-launch.zr-ask-launch,html.zm-scroll-down body .zm-dock,html.zm-scroll-down body #zm-ask-launch.zr-ask-launch{transition:none}}
html.zm-buying body #zm-ask-launch.zr-ask-launch{opacity:0;visibility:hidden;pointer-events:none}
/* FIX-PLAN و: no automatic dark inversion; forced colours keep the logo and show the chosen item. */
:root{color-scheme:only light}
@media (forced-colors:active){.zm-logo img,.zm-brand img{mix-blend-mode:normal}[aria-current="page"],[aria-current="true"],[aria-selected="true"],.is-active{outline:3px solid Highlight;outline-offset:2px}.zms,.zms-badge{forced-color-adjust:none}}
/* hero film: the large corner on the far side of the caption in RTL */
.zm-herovid{border-radius:14px;border-end-end-radius:80px}
/* home tiles: 3 + 3 on wide screens, no empty cell */
@media (min-width:1024px){.zm-tiles.zm-home{grid-template-columns:repeat(3,minmax(0,1fr))}html body .zm-tiles.zm-home>li:last-child{grid-column:auto}}
/* banner button keeps one line */
.zmp-home-notice-link{white-space:nowrap}
.zmp-home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0}
.zmp-home-actions .zm-btn{white-space:nowrap}
/* one guide block: the sample is the burgundy button, the price page a plain link next to it */
#local-payment-notice .zmp-home-actions .zmp-home-notice-link{background:transparent!important;border:0!important;box-shadow:none!important;color:#FFFEFA!important;text-decoration:underline;text-underline-offset:.25em;padding-inline:0!important;min-height:44px;width:auto!important}
a[data-read]{text-decoration:none;cursor:pointer}

/* 4 Nov 2026 fix2 (C1 #14, #15, R3 P3): one focus ring everywhere, ivory on the navy banner; three surfaces
   (paper #FFFEFA, sand #F3F1EA, mist #EEF2EF); one fold indicator; no list numbers beside the step number. */
:root{--focus:#173B4B}
html body :focus-visible{outline:3px solid var(--focus)!important;outline-offset:2px!important}
html body :is(#local-payment-notice,.zmp-home-notice-inner) :focus-visible{outline-color:#FFFEFA!important}
summary:has(> .zc-cue)::after{display:none!important;content:none!important}
html body a.zm-tile,html body a.zm-gcard-pic{background:#FFFEFA}
html body summary.zc-summary,html body .zm-licensing-ref,html body .zmc-next{background:#F3F1EA}
ol.zm-psteps{list-style:none}
.zm-answers[hidden],.zm-answers:has([data-answers-text]:empty){display:none!important}
.zmc-prof{margin-block:12px 18px}
/* fix10 (9 Nov 2026, owner «كمل باقي الاصلاحات»): the mobile UX committee's platform fixes
   (outputs/committees-20261109/1-mobile-ux-design/REPORT-AR.md). Appended to integration.css (platform pages) and combined.css
   (WordPress pages and the home). Selectors carry html/body so they win over the files loaded after these two. */

/* 1. Calculator /points/: the next button stays tappable; a short message names the missing answer; the score is the hero. */
html body [data-zm-tool] .zm-btn[data-tool-next][aria-disabled="true"]{opacity:.55;filter:saturate(.35);box-shadow:none;cursor:pointer}
html body [data-zm-tool] .zm-tool-missing{margin:14px 0 0;font-weight:700;color:#173747}
html body [data-zm-tool] .zm-tool-missing:empty{margin:0}
html body [data-zm-tool] .zm-tool-need{margin:10px 0 0;padding:10px 14px;border:1px solid #e6d3ad;border-radius:10px;background:#fbf4e6;color:#173747;font-weight:700;line-height:1.6}
html body [data-zm-tool] .zm-score-hero{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin-block:6px 10px;color:#173747}
html body [data-zm-tool] .zm-score-hero > bdi{font-size:56px;line-height:1.05;font-weight:800;color:#173747;font-variant-numeric:tabular-nums}
html body [data-zm-tool] .zm-score-unit{font-size:20px;font-weight:700;color:#173747}

/* 2. «اسألني» on phones: a 48px circle, 16px above the bottom bar (and the safe area), faded out while reading down instead of
   sliding under the bar; hidden on the calculator, the guide samples and the buying pages. */
@media (max-width:849px){
 html:root{--fab-gap:calc(var(--fab-bar) + 1px + 16px + env(safe-area-inset-bottom,0px))}
 html:root body #zm-ask-launch.zr-ask-launch{width:48px;height:48px;min-height:48px;padding:0;gap:0;justify-content:center;border-radius:50%}
 html:root body #zm-ask-launch.zr-ask-launch img{width:44px;height:44px}
 html:root body #zm-ask-launch.zr-ask-launch span{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
 html:root.zm-scroll-down body #zm-ask-launch.zr-ask-launch{transform:none}
 html:root:not(.zm-noask):not(.zm-buying) body main#main{padding-bottom:max(calc(120px + env(safe-area-inset-bottom,0px)),calc(var(--fab-gap) + 48px + 16px))}
}
html:root.zm-noask body #zm-ask-launch.zr-ask-launch{display:none}

/* 3. Search boxes: an empty box reads right to left, so the Arabic hint starts at its first word instead of being cut. */
html[dir="rtl"] input[dir="auto"]:placeholder-shown{direction:rtl;text-align:right}
html[dir="rtl"] input[type="search"]{text-overflow:ellipsis}

/* 6. Home first screen on phones: the story video is a 150px strip and the gaps around it are tighter, so the first two choices
   show on the first screen at 360x780 with the slogan line kept (owner 9 Nov: «السطر ده شعار»). Text and its sizes are unchanged. */
@media (max-width:600px){
 html body .zn-home-hero{padding-bottom:4px}
 html body .zn-home-hero .zm-intro{margin-bottom:4px}
 html body .zn-home-hero .zm-herovid{aspect-ratio:auto;height:150px;min-height:0;margin-top:10px}
 html body .zn-home-hero .zm-herovid video{object-position:65% 45%}
 html body .zm-finder#finder{padding-top:12px}
 html body .zm-finder #finder-h{margin-bottom:8px}
}

/* 7. Readable fold labels and 44px stand-alone links. */
html body main .zc-summary > .zc-cue,html body .zgs-page .zc-summary > .zc-cue{font-size:14px}
html body .zm-jump > a,html body #local-payment-notice .zgb__link,html body .zmc-links > a,html body a.zm-textlink[href="/#finder"],
html body .zn-shortcuts > a,html body .zn-unsure > a{min-height:44px;display:inline-flex;align-items:center}
/* fix13 UX (9 Nov 2026, owner «ادخل الاصلاحات الخفيفة والمناسبة اما الحركات التقيلة استبعدها»): light fixes from the design and
   motion review (outputs/design-motion-review-20261109/REPORT-AR.md). Appended to reader.css and combined.css (platform pages, and
   WordPress pages through the footer chrome). CSS first; transform and opacity only; every motion is off with reduced motion. */

/* 1. A guide card stands in for the banner on this page (data-zm-card-here, written into the page at build time with
      guide-cards.js's own rule), so the banner never takes space in the first paint; guide-cards.js still hides it as before. */
html body #local-payment-notice[data-zm-card-here]{display:none!important}

/* 3. Tajawal's local stand-in while the web font loads: Segoe UI scaled to Tajawal's width on long Arabic lines and set to
      Tajawal's own ascent and descent (measured in Chrome on the release's woff2 files against Segoe UI: long paragraphs 100% regular
      and 105.5% bold; ascent 1.02em and descent 0.38em regular, 1.07em and 0.41em bold), so the swap moves the text as little as
      possible. font-display stays as it is. */
@font-face{font-family:"Tajawal Fallback";src:local("Segoe UI"),local("SegoeUI");font-weight:100 500;size-adjust:100%;ascent-override:102%;descent-override:38%;line-gap-override:0%}
@font-face{font-family:"Tajawal Fallback";src:local("Segoe UI Bold"),local("SegoeUI-Bold");font-weight:600 900;size-adjust:105.5%;ascent-override:101.4%;descent-override:38.9%;line-gap-override:0%}
html body[data-page-type],html body :is(.zm-skip,.zm-header,.zm-menu-panel,.zm-footer,.zm-bottom){font-family:Tajawal,"Tajawal Fallback","Segoe UI",Tahoma,sans-serif}
html body .zm-qgrid article :is(.q-picker button,.q-jnav button,.q-jtoggle),html body .zm-qgrid article ol.zm-steps>li::before{font-family:Tajawal,"Tajawal Fallback",sans-serif}

/* 4. Page to page: a short cross-fade (220ms, ease-out); the header and the bottom bar stay put; a question opened from a list
      carries its title into the page's heading. Browsers without cross-document view transitions simply load the page. */
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 html body .zm-header{view-transition-name:zm-header}
 html body .zm-bottom{view-transition-name:zm-bottom}
 html body[data-page-type="q"] main h1{view-transition-name:zm-qtitle}
 ::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:cubic-bezier(.23,1,.32,1)}
 ::view-transition-group(zm-qtitle){animation-duration:.22s;animation-timing-function:cubic-bezier(.23,1,.32,1)}
 ::view-transition-old(zm-qtitle),::view-transition-new(zm-qtitle){animation-duration:.22s;height:100%;object-fit:contain;object-position:right center}
}

/* 5. A 3px reading bar along the bottom of the header on long reading pages (question pages, the notices page, WordPress
      articles): it follows the page's own scroll in CSS and moves by transform only. Not where a step bar already shows progress. */
@supports (animation-timeline:scroll()){
 @media (prefers-reduced-motion:no-preference){
  html body:is([data-page-type="q"],[data-page-type="notice"],.single-post):not(:has(.zm-stepbar)) .zm-header::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:3px;background:#173747;transform:scaleX(0);transform-origin:left center;animation:zm-read-bar linear both;animation-timeline:scroll(root block);pointer-events:none}
  html[dir="rtl"] body:is([data-page-type="q"],[data-page-type="notice"],.single-post) .zm-header::after{transform-origin:right center}
 }
}
@keyframes zm-read-bar{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media print{html body .zm-header::after{display:none}}

/* 1b. /points/: the guide card goes into a slot kept for it under the calculator (its height measured at each screen width), so
       the calculator page does not move when the card arrives. ux13.js releases the slot if no card comes. */
html body main>.zm-gslot{display:block;margin:24px 16px}
html body main>.zm-gslot{min-height:462px}
@media (max-width:374px){html body main>.zm-gslot{min-height:490px}}
@media (max-width:339px){html body main>.zm-gslot{min-height:517px}}
@media (min-width:480px){html body main>.zm-gslot{min-height:435px}}
@media (min-width:540px){html body main>.zm-gslot{min-height:381px}}
@media (min-width:601px){html body main>.zm-gslot{min-height:300px}}
@media (min-width:768px){html body main>.zm-gslot{min-height:244px}}
@media (min-width:900px){html body main>.zm-gslot{max-width:860px;margin-inline:auto}}

/* 6. Calculator result: a thin bar under the CRS number (out of 1200); app.js fills it once with the count. */
html body [data-zm-tool] .zm-score-bar{display:block;height:4px;margin-block:0 12px;border-radius:4px;background:var(--line,#DBDCD2);overflow:hidden}
html body [data-zm-tool] .zm-score-bar>i{display:block;height:100%;border-radius:4px;background:#173747;transform-origin:right center}
html[dir="ltr"] body [data-zm-tool] .zm-score-bar>i{transform-origin:left center}
html body [data-zm-tool] .zm-score-hero>bdi.zm-counting{display:inline-block;text-align:end}

/* 7. Path steps: the tick draws itself (250ms) when a step is marked done, and the phones' step bar fills with the steps done.
      The box keeps its size and the site's selected colour; ux13.js adds the drawing only where it runs. */
html body main label.cc-review.zm-cdraw{position:relative}
html body main label.cc-review.zm-cdraw>input[type=checkbox]{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:22px;height:22px;margin:0;flex-shrink:0;border:2px solid var(--primary,#7B3546);border-radius:6px;background:var(--paper,#FFFEFA);cursor:pointer;transition:background-color .15s ease}
html body main label.cc-review.zm-cdraw>input[type=checkbox]:checked{background:var(--primary,#7B3546)}
html body main label.cc-review.zm-cdraw>input[type=checkbox]:focus-visible{outline:3px solid #173747;outline-offset:2px}
html body main label.cc-review.zm-cdraw>.zm-ccheck{position:absolute;inset-inline-start:12px;top:50%;width:22px;height:22px;margin-top:-11px;pointer-events:none;fill:none;stroke:#FFFEFA;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
html body main label.cc-review.zm-cdraw>.zm-ccheck path{stroke-dasharray:20;stroke-dashoffset:20;transition:stroke-dashoffset .25s cubic-bezier(.23,1,.32,1)}
html body main label.cc-review.zm-cdraw>input:checked+.zm-ccheck path{stroke-dashoffset:0}
html body .zm-stepbar{--zm-done:0}
html body .zm-stepbar::after{content:"";position:absolute;inset-inline:0;bottom:-1px;height:3px;background:#173747;transform:scaleX(var(--zm-done));transform-origin:right center;pointer-events:none}
html[dir="ltr"] body .zm-stepbar::after{transform-origin:left center}
html body .zm-stepbar[data-zm-fill]::after{transition:transform .3s cubic-bezier(.23,1,.32,1)}
@media (prefers-reduced-motion:reduce){
 html body main label.cc-review.zm-cdraw>.zm-ccheck path,html body main label.cc-review.zm-cdraw>input[type=checkbox],html body .zm-stepbar[data-zm-fill]::after{transition:none}
}
@media print{html body main label.cc-review.zm-cdraw>.zm-ccheck{display:none}}

/* 8. Folds open and close with a short height animation (200ms) where the browser can animate to auto; elsewhere they open at
      once, as today. Limited to the page's own folds (main), and only once the page has loaded (ux13.js sets zm-folds), so folds
      that the page's scripts open or close while loading do not slide. */
@supports selector(::details-content){
 @media (prefers-reduced-motion:no-preference){
  html.zm-folds body main details{interpolate-size:allow-keywords}
  html.zm-folds body main details::details-content{block-size:0;overflow-y:clip;transition:block-size .2s cubic-bezier(.23,1,.32,1),content-visibility .2s allow-discrete}
  html.zm-folds body main details[open]::details-content{block-size:auto}
 }
}

/* 9. Wide screens: «اسألني» and the install button are one column of two 48px circles in the corner (the page's side margin from
      1280px up), so they no longer cover the last row of cards; «اسألني» shows its name on hover or keyboard focus. The install
      button stays hidden on wide screens after its first close (zm-app.js). */
@media (min-width:850px){
 html:root body #zm-ask-launch.zr-ask-launch{width:48px;height:48px;min-height:48px;padding:0;gap:0;justify-content:center;border-radius:50%}
 html:root body #zm-ask-launch.zr-ask-launch img{width:44px;height:44px}
 html:root body #zm-ask-launch.zr-ask-launch span{position:absolute;inset-inline-end:calc(100% + 8px);top:50%;width:auto;height:auto;margin:0;padding:6px 12px;transform:translateY(-50%);overflow:visible;clip:auto;clip-path:none;white-space:nowrap;border:1px solid #e3cbd0;border-radius:999px;background:#fffcf7;color:#7b3546;font-size:15px;line-height:1.3;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,visibility 0s linear .15s}
 html:root body #zm-ask-launch.zr-ask-launch:is(:hover,:focus-visible) span{opacity:1;visibility:visible;transition:opacity .15s ease,visibility 0s}
 html body .zm-dock{inset-block-end:calc(var(--fab-gap) + 48px + 10px)}
 html.zm-dock-closed body .zm-dock[data-zm-dock]{display:none}
}
@media (min-width:850px) and (prefers-reduced-motion:reduce){html:root body #zm-ask-launch.zr-ask-launch span{transition:none}}

/* 10. Wide screens, question pages: the picture under the short answer is at most 220px tall, whole (never cropped), centred. */
@media (min-width:1024px){
 html body .zm-qgrid article .q-hero img{width:auto;max-width:100%;max-height:220px;margin-inline:auto}
}
