/*
 * Shell appareil iOS — téléphone (GT 390×844) vs tablette desktop (HIG iPadOS).
 * Baseline tablette : points logiques iPad Air (820×1180 / 1180×820), pas GT VM
 * (simulateur lab = iPhone 13). Voir campagne-ground-truth-ios.md § tablette desktop.
 */

/* Desk autour du châssis — uniquement hors mode téléphone plein écran. */
html.ios-form-tablet,
html.ios-form-tablet body#ios-17.ios-springboard,
html.ios-form-tablet body#ios-18.ios-springboard {
    background-color: #0c0c0e;
    background-image: none;
}

html.ios-form-tablet body#ios-17.ios-springboard,
html.ios-form-tablet body#ios-18.ios-springboard {
    position: relative;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: auto;
    min-height: 100vh;
    max-height: none;
    margin: 0;
    padding: 24px 16px;
    overflow: auto;
    box-sizing: border-box;
}

/* Calques wallpaper téléphone (Φ) hors sujet en mode tablette HIG. */
html.ios-form-tablet body.ios-springboard > [id^="ios-wall-"],
html.ios-form-tablet body.ios-springboard::before,
html.ios-form-tablet body.ios-springboard::after {
    display: none !important;
}

#ios-device {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    box-sizing: border-box;
    overflow: hidden;
}

html.ios-form-phone #ios-device {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

/* Châssis tablette — coins et liseré type iPadOS (HIG Designing for iPadOS). */
html.ios-form-tablet body.ios-springboard #ios-device {
    position: relative;
    flex: 0 0 auto;
    width: min(1180px, 96vw, calc(94vh * 1180 / 820));
    max-width: 1180px;
    height: auto;
    aspect-ratio: 1180 / 820;
    max-height: 94vh;
    margin: 0 auto;
    padding: 14px 12px 18px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 28px;
    background: #1c1c1e;
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.55),
        0 28px 80px rgba(0, 0, 0, 0.55),
        inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.ios-form-tablet.ios-orient-portrait body.ios-springboard #ios-device {
    width: min(820px, 96vw, calc(94vh * 820 / 1180));
    max-width: 820px;
    aspect-ratio: 820 / 1180;
}

/* Mesure Φ (?measure=1) : écran nu plein cadre, comme la capture simctl — pas de châssis. */
html.ios-measure.ios-form-tablet body.ios-springboard #ios-device {
    position: absolute;
    inset: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    aspect-ratio: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

#ios-stage {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    box-sizing: border-box;
}

html.ios-form-tablet #ios-stage #desktop {
    flex: 1 1 auto;
    min-height: 0;
}

html.ios-form-tablet #ios-stage #sb-points {
    flex: 0 0 auto;
}

html.ios-form-tablet #ios-stage {
    border-radius: 18px;
    background-color: #4f0219;
    background-image:
        url(../../assets/images/vendors/apple/wallpaper/ios-17-springboard.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    color: #fff;
}

/* iOS 18 tablette : même fond SpringBoard vendor (ne pas aplatir en gris). */
html.ios-form-tablet body#ios-18 #ios-stage {
    background-color: #4f0219;
    background-image:
        url(../../assets/images/vendors/apple/wallpaper/ios-17-springboard.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.ios-home-indicator {
    display: none;
}

html.ios-form-tablet .ios-home-indicator {
    display: block;
    flex: 0 0 auto;
    width: 120px;
    height: 5px;
    margin: 10px auto 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
}

/* Grille Home iPad — 6 colonnes (HIG / SpringBoard iPadOS), icônes ~76 pt.
   Spécificité ≥ body#ios-17 .sb-page (id) pour ne pas perdre face au GT téléphone.
   Une seule page visible à la fois (comme iPadOS) — ne pas forcer display:grid sur .sb-page. */
html.ios-form-tablet body#ios-17.ios-springboard .sb-page:not(.sb-page-on),
html.ios-form-tablet body#ios-18.ios-springboard .sb-page:not(.sb-page-on) {
    display: none;
}
html.ios-form-tablet body#ios-17.ios-springboard .sb-page.sb-page-on,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page.sb-page-on {
    display: grid;
    grid-template-columns: repeat(6, 76px);
    grid-auto-rows: 98px;
    row-gap: 28px;
    column-gap: 36px;
    margin-top: 28px;
    justify-content: center;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a,
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > .sb-folder,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > .sb-folder {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 76px;
    height: 98px;
    text-decoration: none;
    color: #fff;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > .sb-label,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > .sb-label {
    display: block;
    width: 100%;
    margin-top: 6px;
    overflow: hidden;
    font-family: 'SF UI', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.15;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* Téléphone : libellés d'icônes visibles — la GT simulateur (iPhone 13) les affiche.
   Le masquage ne vaut que pour les surfaces densifiées hors springboard (data-ios-hide-labels). */
html.ios-form-phone body.ios-springboard[data-ios-hide-labels="1"] .sb-label {
    display: none !important;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > img,
html.ios-form-tablet body#ios-17.ios-springboard .sb-cal .cal-face,
html.ios-form-tablet body#ios-17.ios-springboard .sb-phone .phone-face,
html.ios-form-tablet body#ios-17.ios-springboard .sb-shell .shell-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > img,
html.ios-form-tablet body#ios-18.ios-springboard .sb-cal .cal-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-phone .phone-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-shell .shell-face {
    width: 76px;
    height: 76px;
    border-radius: 18px;
}

body.ios-springboard .sb-phone .phone-face {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
    background: #30d158;
    box-sizing: border-box;
}
body.ios-springboard .sb-phone .phone-face svg {
    display: block;
    transform: rotate(-12deg);
}
html.ios-form-tablet body.ios-springboard .sb-phone .phone-face svg {
    width: 42px;
    height: 42px;
}

/* Icônes shell Notes / Horloge (SVG toolkit iOS) — squircles Home */
body.ios-springboard .sb-shell .shell-face {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
    box-sizing: border-box;
    overflow: hidden;
}
body.ios-springboard .sb-shell .shell-face img {
    width: 62%;
    height: 62%;
    object-fit: contain;
}
body.ios-springboard .shell-face--notes {
    background: linear-gradient(180deg, #ffd60a 0%, #ffcc00 100%);
}
body.ios-springboard .shell-face--clock {
    background: linear-gradient(180deg, #1c1c1e 0%, #2c2c2e 100%);
}
body.ios-springboard .shell-face--calc {
    background: linear-gradient(180deg, #636366 0%, #48484a 100%);
}
body.ios-springboard .shell-face--calc svg {
    display: block;
}
html.ios-form-tablet body.ios-springboard .sb-shell .shell-face img {
    width: 58%;
    height: 58%;
}
html.ios-form-tablet body.ios-springboard .shell-face--calc svg {
    width: 42px;
    height: 42px;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-cal .cal-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-cal .cal-face {
    padding-top: 8px;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-cal .cal-dom,
html.ios-form-tablet body#ios-18.ios-springboard .sb-cal .cal-dom {
    font-size: 44px;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-label,
html.ios-form-tablet body#ios-18.ios-springboard .sb-label {
    margin-top: 8px;
    font-size: 13px;
}

html.ios-form-tablet body#ios-17 #widgets,
html.ios-form-tablet body#ios-18 #widgets {
    flex: 0 0 auto;
    margin: 12px 48px 0;
    height: 136px;
    gap: 24px;
}

html.ios-form-tablet body#ios-17 #widgets .widget,
html.ios-form-tablet body#ios-18 #widgets .widget {
    height: 128px;
    border-radius: 22px;
    overflow: hidden;
}

html.ios-form-tablet body#ios-17 #widgets .widget-cal,
html.ios-form-tablet body#ios-18 #widgets .widget-cal {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 10px 14px 8px;
    box-sizing: border-box;
    overflow: hidden;
}

html.ios-form-tablet body#ios-17 #widgets .w-cal-day,
html.ios-form-tablet body#ios-18 #widgets .w-cal-day {
    flex: 0 0 auto;
    margin: 0;
    font-size: 0.72em;
}

html.ios-form-tablet body#ios-17 #widgets .w-cal-num,
html.ios-form-tablet body#ios-18 #widgets .w-cal-num {
    flex: 0 0 auto;
    margin: 2px 0 0;
    font-size: 2.1em;
    line-height: 0.92;
}

html.ios-form-tablet body#ios-17 #widgets .w-cal-ev,
html.ios-form-tablet body#ios-18 #widgets .w-cal-ev {
    flex: 0 0 auto;
    margin: 6px 0 0;
    max-width: 100%;
    font-size: 0.74em;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

html.ios-form-tablet body#ios-17.ios-springboard .sb-page.sb-page-on,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page.sb-page-on {
    margin-top: 16px;
    row-gap: 18px;
}

html.ios-form-tablet body#ios-17 #recherche,
html.ios-form-tablet body#ios-18 #recherche {
    position: relative;
    z-index: 6;
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: min(280px, 42%);
    height: 36px;
    margin: 14px auto 6px;
    padding: 0 18px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.34);
    backdrop-filter: blur(22px) saturate(1.3);
    -webkit-backdrop-filter: blur(22px) saturate(1.3);
    border: 1px solid rgba(255, 255, 255, 0.28);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.18);
    color: rgba(255, 255, 255, 0.95);
    font-family: 'SF UI', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-size: 0.95em;
    font-weight: 500;
    cursor: pointer;
}

html.ios-form-tablet body#ios-17.ios-springboard #tableau,
html.ios-form-tablet body#ios-18.ios-springboard #tableau {
    flex: 0 0 auto;
    width: min(520px, 58%);
    height: 68px;
    margin: 8px auto 4px;
    border-radius: 28px;
    background: rgba(255, 255, 255, 0.28);
    backdrop-filter: blur(28px) saturate(1.4);
    -webkit-backdrop-filter: blur(28px) saturate(1.4);
    border: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.22);
}

html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    width: 100%;
    height: 100%;
    margin: 0;
    background: transparent;
}

html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 56px;
    height: 56px;
}

html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a > img,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a > img {
    width: 56px;
    height: 56px;
    border-radius: 14px;
}

/* Dock iPadOS : Fichiers + Photos en plus ; masqués en mode téléphone (GT buttonBar). */
html.ios-form-phone .ios-dock-extra { display: none !important; }
html.ios-form-tablet body#ios-17.ios-springboard #tableau,
html.ios-form-tablet body#ios-18.ios-springboard #tableau {
    width: min(560px, 62%);
}

/* Toast stubs apps (Watch / Forme) — pédagogie « non fournie dans la Capsule » */
.ios-sb-toast {
    position: absolute;
    left: 50%;
    bottom: 110px;
    transform: translateX(-50%);
    z-index: 40;
    max-width: 280px;
    padding: 10px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.88);
    color: #f2f2f7;
    font: 500 13px/1.35 'SF UI', -apple-system, BlinkMacSystemFont, sans-serif;
    text-align: center;
    backdrop-filter: blur(16px);
    pointer-events: none;
}
html.ios-form-tablet .ios-sb-toast { bottom: 96px; }

html.ios-form-tablet body#ios-17 #sb-points,
html.ios-form-tablet body#ios-18 #sb-points {
    margin: 10px auto 0;
}

/* Barre d’état iPadOS : heure à gauche, glyphes à droite (pleine largeur stage). */
html.ios-form-tablet body#ios-17.ios-springboard #iosheader,
html.ios-form-tablet body#ios-18.ios-springboard #iosheader,
html.ios-form-tablet #ios-stage > #iosheader {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 36px;
    margin: 0;
    padding: 10px 28px 0;
    box-sizing: border-box;
    font-family: 'SF UI', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    font-weight: 600;
}

html.ios-form-tablet #ios-stage > #iosheader #heure {
    flex: 0 0 auto;
    font-size: 1.05em;
    letter-spacing: -0.01em;
}

html.ios-form-tablet #ios-stage > #iosheader #statusright {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-left: auto;
}

/* Surface app : même châssis que le Home (pas plein moniteur). */
html.ios-form-tablet body.ios-springboard #ios-app {
    position: absolute;
    inset: 0;
    z-index: 30;
    border-radius: 18px;
    overflow: hidden;
}

html.ios-form-phone body.ios-springboard #ios-app {
    position: fixed;
    inset: 0;
    z-index: 20;
}

/* App ouverte sur iPhone : l'app dessine sa propre barre d'état (heure tenue par js/date.js, couleur de l'app).
   Celle de l'accueil reste au-dessus pour ouvrir Centre de contrôle / de notifications, mais transparente —
   sinon deux heures se superposaient (blanc de l'accueil sur le noir de l'app). */
html.ios-form-phone body#ios-17.ios-springboard:has(#ios-app[data-app]) #iosheader,
html.ios-form-phone body#ios-18.ios-springboard:has(#ios-app[data-app]) #iosheader {
    color: transparent;
}

/* Appli installée sur un iPhone (capsule-pwa-host-bar) : la barre d'état réelle d'iOS est déjà affichée par-dessus
   la page (black-translucent) ; celle de la simulation reste cliquable mais ne se dessine plus. */
html.capsule-pwa-host-bar body#ios-17.ios-springboard #iosheader,
html.capsule-pwa-host-bar body#ios-18.ios-springboard #iosheader {
    color: transparent;
}

/* Police système iOS pour tout le shell (apps du shell : Téléphone, Mail, Notes, Horloge, Forme…, centre de
   contrôle, feuilles). Le jeton global --font du portail vaut system-ui (Noto / DejaVu sous Linux) : seules
   les étiquettes de l'accueil étaient en SF. */
body#ios-15,
body#ios-17,
body#ios-18 {
    --font: var(--font-ui, 'SF UI', -apple-system, BlinkMacSystemFont, sans-serif);
}

/* Stage Manager pédagogique (tablette) — strip Recent à gauche, HIG iPadOS. */
#ios-sm-strip {
    display: none;
}

html.ios-form-tablet body.ios-springboard #ios-sm-strip {
    position: absolute;
    left: 10px;
    top: 52px;
    bottom: 28px;
    z-index: 40;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 76px;
    padding: 8px 6px;
    border-radius: 16px;
    background: rgba(28, 28, 30, 0.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

html.ios-form-tablet body.ios-springboard #ios-sm-strip[hidden] {
    display: none !important;
}

html.ios-form-tablet body.ios-springboard .ios-sm-strip__label {
    margin: 0 0 8px;
    padding: 0 2px;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.68em;
    font-weight: 600;
    letter-spacing: 0.02em;
    text-align: center;
    text-transform: uppercase;
}

html.ios-form-tablet body.ios-springboard .ios-sm-strip__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
}

html.ios-form-tablet body.ios-springboard .ios-sm-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
    margin: 0;
    padding: 6px 4px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    cursor: pointer;
}

html.ios-form-tablet body.ios-springboard .ios-sm-card.is-active {
    background: rgba(10, 132, 255, 0.35);
    box-shadow: inset 0 0 0 1px rgba(10, 132, 255, 0.65);
}

html.ios-form-tablet body.ios-springboard .ios-sm-card img,
html.ios-form-tablet body.ios-springboard .ios-sm-card__fallback {
    width: 44px;
    height: 44px;
    border-radius: 10px;
}

html.ios-form-tablet body.ios-springboard .ios-sm-card__fallback {
    display: grid;
    place-items: center;
    background: #48484a;
    font-weight: 700;
    font-size: 1.1em;
}

html.ios-form-tablet body.ios-springboard .ios-sm-card__name {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.62em;
    opacity: 0.85;
}

html.ios-form-tablet body.ios-springboard #ios-device.ios-sm-active #ios-app {
    left: 92px;
    right: 0;
    top: 0;
    bottom: 0;
}

html.ios-form-tablet body.ios-springboard .ios-sm-strip__toggle {
    flex: 0 0 auto;
    margin-top: 8px;
    padding: 6px 4px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.68em;
    font-weight: 700;
    cursor: pointer;
}

html.ios-form-tablet body.ios-springboard .ios-sm-strip__toggle[aria-pressed="false"] {
    opacity: 0.55;
}

html.ios-form-phone body.ios-springboard #ios-sm-strip {
    display: none !important;
}

/* ─── Chrome système : Control Center / Notification Center / Spotlight ─── */
#ios-sys {
    position: absolute;
    inset: 0;
    z-index: 60;
    display: flex;
    align-items: stretch;
    justify-content: stretch;
    pointer-events: auto;
}

#ios-sys[hidden] {
    display: none !important;
}

.ios-sys__scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.ios-sys__panel {
    position: relative;
    z-index: 1;
    margin: auto;
    max-height: calc(100% - 48px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.ios-sys__panel[hidden] {
    display: none !important;
}

/* Control Center — ancré haut-droit (geste iPadOS / iOS) */
.ios-sys.is-cc .ios-sys__panel--cc {
    position: absolute;
    top: 52px;
    right: 16px;
    width: min(360px, calc(100% - 32px));
    margin: 0;
    padding: 14px;
    border-radius: 24px;
    background: rgba(44, 44, 46, 0.78);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
    color: #f5f5f7;
}

html.ios-form-phone .ios-sys.is-cc .ios-sys__panel--cc {
    top: 56px;
    right: 12px;
    left: 12px;
    width: auto;
}

/* Control Center iPadOS — module compact haut-droit (Support / HIG), pas une colonne pleine hauteur.
   Baseline : support.apple.com/guide/ipad/use-and-customize-control-center-ipade572ca56 */
html.ios-form-tablet .ios-sys.is-cc .ios-sys__panel--cc {
    top: 40px;
    right: 18px;
    width: min(392px, calc(100% - 36px));
    max-height: min(620px, calc(100% - 56px));
    padding: 12px;
    overflow-x: hidden;
    overflow-y: auto;
    border-radius: 28px;
}

html.ios-form-tablet .ios-cc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
}

html.ios-form-tablet .ios-cc-connectivity {
    grid-column: 1;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px;
}

html.ios-form-tablet .ios-cc-sliders {
    grid-column: 2;
    justify-content: space-between;
    padding: 10px 12px;
}

html.ios-form-tablet .ios-cc-media {
    grid-column: 1 / -1;
    margin: 0;
    padding: 10px 12px;
}

html.ios-form-tablet .ios-cc-actions {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

html.ios-form-tablet .ios-cc-pill {
    padding: 10px 8px;
    font-size: 0.78em;
    border-radius: 14px;
}

html.ios-form-tablet .ios-cc-extras {
    grid-column: 1 / -1;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

html.ios-form-tablet .ios-cc-extra {
    padding: 10px 8px;
    font-size: 0.76em;
    border-radius: 14px;
}

html.ios-form-tablet .ios-cc-hint {
    grid-column: 1 / -1;
    margin: 0;
    font-size: 0.62em;
}

html.ios-form-tablet .ios-cc-head {
    margin: 0 0 8px;
}

html.ios-form-tablet .ios-cc-gallery {
    grid-column: 1 / -1;
}

html.ios-form-tablet .ios-cc-expand {
    grid-column: 1 / -1;
}

/* iPadOS 18 — pages Favorites / Media / Connectivity / Home + rail (Support) */
.ios-cc-body {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 8px;
    min-height: 0;
}

.ios-cc-pages {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

.ios-cc-page {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ios-cc-page[hidden] {
    display: none !important;
}

.ios-cc-rail {
    flex: 0 0 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 2px;
}

.ios-cc-rail-btn {
    width: 40px;
    min-height: 22px;
    margin: 0;
    padding: 4px 2px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.18);
    color: rgba(255, 255, 255, 0.55);
    font: inherit;
    font-size: 0.58em;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
}

.ios-cc-rail-btn.is-on {
    background: #fff;
    color: #1c1c1e;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.35);
}

.ios-cc-connectivity--lg {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

.ios-cc-connectivity--lg .ios-cc-tile {
    aspect-ratio: auto;
    min-height: 72px;
    border-radius: 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 12px;
    text-align: left;
}

.ios-cc-connectivity--lg .ios-cc-tile em {
    font-style: normal;
    font-size: 0.72em;
    font-weight: 600;
    opacity: 0.85;
}

.ios-cc-media--page {
    min-height: 160px;
}

.ios-cc-sliders--solo {
    margin-top: 4px;
}

.ios-cc-home {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ios-cc-home-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    min-height: 88px;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-cc-home-tile.is-on {
    background: rgba(10, 132, 255, 0.45);
}

.ios-cc-home-tile b {
    font-size: 0.88em;
    font-weight: 700;
}

.ios-cc-home-tile i {
    font-style: normal;
    font-size: 0.72em;
    opacity: 0.7;
}

.ios-cc-home-thermo {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
}

.ios-cc-home-thermo strong {
    font-size: 2em;
    font-weight: 300;
    letter-spacing: -0.02em;
}

.ios-cc-home-thermo span {
    font-size: 0.78em;
    opacity: 0.7;
}

html.ios-form-tablet .ios-cc-body {
    gap: 10px;
}

html.ios-form-tablet .ios-cc-rail {
    flex-basis: 48px;
    gap: 10px;
}

html.ios-form-tablet .ios-cc-rail-btn {
    width: 44px;
    min-height: 26px;
    font-size: 0.62em;
}

html.ios-form-tablet .ios-cc-page.is-on.ios-cc-grid,
html.ios-form-tablet #ios-cc-grid.is-on {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    align-items: stretch;
}

.ios-cc-grid {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ios-cc-connectivity {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
}

.ios-cc-tile {
    aspect-ratio: 1;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font-size: 1.15em;
    cursor: pointer;
}

.ios-cc-tile.is-on {
    background: #0a84ff;
}

.ios-cc-glyph {
    display: block;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    text-align: center;
}

.ios-cc-home-tile span {
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    opacity: 0.75;
    line-height: 1.1;
}

.ios-cc-sliders {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.08);
}

.ios-cc-slider {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 0.78em;
    color: rgba(255, 255, 255, 0.7);
}

.ios-cc-slider input[type="range"] {
    width: 100%;
    accent-color: #fff;
}

.ios-cc-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ios-cc-pill {
    border: 0;
    border-radius: 16px;
    padding: 14px 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.88em;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}

.ios-cc-pill.is-on,
.ios-cc-pill[aria-pressed="true"] {
    background: rgba(10, 132, 255, 0.45);
}

.ios-cc-hint {
    margin: 2px 4px 0;
    font-size: 0.68em;
    color: rgba(255, 255, 255, 0.45);
    line-height: 1.35;
}

.ios-cc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 10px;
}

.ios-cc-head-title {
    flex: 1 1 auto;
    margin: 0;
    font-size: 0.82em;
    font-weight: 700;
    opacity: 0.7;
    text-align: center;
}

.ios-cc-edit,
.ios-cc-done {
    margin: 0;
    padding: 4px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 700;
    cursor: pointer;
}

.ios-cc-edit {
    width: 32px;
    height: 32px;
    padding: 0;
    border-radius: 50%;
    font-size: 1.2em;
    line-height: 1;
}

.ios-cc-extras {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ios-cc-extra {
    position: relative;
    margin: 0;
    padding: 14px 12px;
    border: 0;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.ios-cc-rm {
    position: absolute;
    top: -6px;
    left: -6px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #ff453a;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

#ios-cc.is-editing .ios-cc-extra {
    outline: 1px dashed rgba(255, 255, 255, 0.28);
}

.ios-cc-gallery {
    margin-top: 4px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(0, 0, 0, 0.28);
}

.ios-cc-gallery[hidden] {
    display: none !important;
}

.ios-cc-gallery-title {
    margin: 0 0 8px;
    font-size: 0.78em;
    font-weight: 700;
    opacity: 0.7;
}

.ios-cc-gallery-list {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
}

.ios-cc-gallery-list button {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-cc-gallery-empty {
    margin: 0;
    opacity: 0.55;
    font-size: 0.78em;
}

.ios-cc-expand {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(0, 0, 0, 0.35);
}

.ios-cc-expand[hidden] {
    display: none !important;
}

.ios-cc-expand-title {
    margin: 0 0 4px;
    font-size: 0.9em;
    font-weight: 700;
}

.ios-cc-expand button {
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

html.ios-cc-flashlight body.ios-springboard {
    box-shadow: inset 0 0 0 9999px rgba(255, 255, 220, 0.22);
}

html.ios-cc-dark body.ios-springboard {
    filter: brightness(0.82) saturate(0.92);
}

html.ios-cc-lowpower #statusright::after {
    content: ' Low Power';
    color: #ffd60a;
    font-size: 0.75em;
    font-weight: 700;
}

html.ios-cc-brightness-on body.ios-springboard {
    filter: brightness(var(--ios-cc-brightness, 1));
}

html.ios-cc-dark.ios-cc-brightness-on body.ios-springboard {
    filter: brightness(calc(var(--ios-cc-brightness, 1) * 0.82)) saturate(0.92);
}

/* AssistiveTouch */
#ios-assistive-touch {
    position: absolute;
    right: 10px;
    bottom: 88px;
    z-index: 72;
    width: 44px;
    height: 44px;
}

#ios-assistive-touch[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-assistive-touch {
    position: fixed;
}

.ios-at-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    background:
        radial-gradient(circle at 32% 28%, rgba(255, 255, 255, 0.72), transparent 42%),
        radial-gradient(circle at 70% 75%, rgba(0, 0, 0, 0.22), transparent 50%),
        rgba(120, 120, 128, 0.42);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow:
        0 4px 14px rgba(0, 0, 0, 0.28),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);
    color: #1c1c1e;
    cursor: grab;
    opacity: 0.78;
    transition: opacity 0.2s ease;
}

.ios-at-btn-label {
    font-size: 0.62em;
    font-weight: 800;
    letter-spacing: -0.02em;
}

#ios-assistive-touch.is-open .ios-at-btn,
.ios-at-btn:hover {
    opacity: 1;
}

#ios-assistive-touch.is-dim .ios-at-btn {
    opacity: 0.35;
}

.ios-at-menu {
    position: absolute;
    right: 52px;
    bottom: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
    width: 220px;
    max-height: min(70vh, 420px);
    margin: 0;
    padding: 10px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.4);
    overflow: auto;
}

html.ios-form-tablet .ios-at-menu,
.ios-at-menu--tablet {
    width: 280px;
    grid-template-columns: 1fr 1fr 1fr;
}

.ios-at-menu[hidden] {
    display: none !important;
}

.ios-at-menu-title {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.55);
    text-align: center;
}

.ios-at-menu-lead {
    grid-column: 1 / -1;
    margin: 0 0 4px;
    font-size: 0.68em;
    color: rgba(245, 245, 247, 0.55);
    text-align: center;
}

.ios-at-menu button {
    margin: 0;
    padding: 12px 8px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.72em;
    font-weight: 600;
    cursor: pointer;
}

.ios-at-toast {
    position: absolute;
    right: 52px;
    bottom: 52px;
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(28, 28, 30, 0.92);
    color: #f5f5f7;
    font-size: 0.72em;
    font-weight: 600;
    white-space: nowrap;
}

.ios-at-toast[hidden] {
    display: none !important;
}

html.ios-at-flash body.ios-springboard {
    animation: ios-at-flash 0.18s ease;
}

@keyframes ios-at-flash {
    from { filter: brightness(2.2); }
    to { filter: none; }
}

/* Dictation panel on keyboard */
.ios-kb-dictation {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin: 0 4px 4px;
    padding: 8px 12px;
    border-radius: 12px;
    background: rgba(255, 59, 48, 0.12);
    color: #1c1c1e;
    font-size: 0.85em;
    font-weight: 600;
}

.ios-kb-dictation[hidden] {
    display: none !important;
}

.ios-kb-dict-wave {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #ff3b30;
    box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.5);
    animation: ios-kb-pulse 1s ease infinite;
}

@keyframes ios-kb-pulse {
    0% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0.45); }
    70% { box-shadow: 0 0 0 10px rgba(255, 59, 48, 0); }
    100% { box-shadow: 0 0 0 0 rgba(255, 59, 48, 0); }
}

#ios-kb-mic[aria-pressed="true"] {
    color: #ff3b30;
}

.ios-kb-dictation button {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 8px;
    background: #ff3b30;
    color: #fff;
    font: inherit;
    font-size: 0.85em;
    font-weight: 700;
    cursor: pointer;
}

/* StandBy — charging landscape desk clock */
#ios-standby {
    position: absolute;
    inset: 0;
    z-index: 74;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    margin: 0;
    padding: 24px 28px 18px;
    background: #050508;
    color: #f5f5f7;
    box-sizing: border-box;
}

#ios-standby[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-standby {
    position: fixed;
}

.ios-sb-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 8px;
    flex: 0 0 auto;
}

.ios-sb-charging {
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0.7;
    font-size: 0.78em;
    font-weight: 600;
}

.ios-sb-charge-icon {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #30d158;
    box-shadow: 0 0 0 3px rgba(48, 209, 88, 0.25);
}

.ios-sb-top-actions {
    display: flex;
    gap: 8px;
}

.ios-sb-top-actions button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.72em;
    font-weight: 600;
    cursor: pointer;
}

.ios-sb-top-actions button.is-on {
    background: rgba(255, 69, 58, 0.45);
}

.ios-sb-views {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
}

.ios-sb-view {
    position: absolute;
    inset: 0;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 18px;
    flex-wrap: wrap;
}

.ios-sb-view.is-on {
    display: flex;
}

.ios-sb-card {
    flex: 1 1 0;
    max-width: 420px;
    min-height: 220px;
    margin: 0;
    padding: 22px 24px;
    border-radius: 28px;
    background: #1c1c1e;
}

.ios-sb-card--cal {
    background: linear-gradient(160deg, #ff3b30, #ff695e);
}

.ios-sb-card--music {
    background: linear-gradient(160deg, #0a84ff, #5ac8fa);
}

.ios-sb-card--weather {
    background: linear-gradient(160deg, #64d2ff, #5e5ce6);
}

.ios-sb-card--battery {
    background: linear-gradient(160deg, #30d158, #34c759);
}

.ios-sb-card[hidden] {
    display: none !important;
}

#ios-standby.ios-standby--tablet .ios-sb-view--widgets .ios-sb-card {
    max-width: 280px;
    min-height: 180px;
}

#ios-standby.ios-standby--night {
    background: #120303;
    color: #ff6b5a;
}

#ios-standby.ios-standby--night .ios-sb-card {
    filter: saturate(0.35) hue-rotate(-15deg) brightness(0.85);
}

#ios-standby.ios-standby--solar .ios-sb-clock {
    background: linear-gradient(180deg, #ffd60a, #ff9f0a 55%, #ff375f);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.ios-sb-clock-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ios-sb-analog {
    display: none;
    position: relative;
    width: min(280px, 40vw);
    height: min(280px, 40vw);
    border-radius: 50%;
    border: 3px solid rgba(255, 255, 255, 0.35);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

#ios-standby.ios-standby--analog .ios-sb-clock {
    display: none;
}

#ios-standby.ios-standby--analog .ios-sb-analog {
    display: block;
}

.ios-sb-hand {
    position: absolute;
    left: 50%;
    bottom: 50%;
    width: 3px;
    height: 38%;
    margin: 0 0 0 -1.5px;
    background: #f5f5f7;
    border-radius: 2px;
    transform-origin: bottom center;
}

.ios-sb-hand--h {
    height: 28%;
    width: 4px;
    margin-left: -2px;
    background: #0a84ff;
}

.ios-sb-kicker {
    margin: 0 0 8px;
    opacity: 0.85;
    font-size: 0.85em;
    font-weight: 700;
}

.ios-sb-big {
    margin: 0;
    font-size: 4.2em;
    font-weight: 700;
    line-height: 1;
}

.ios-sb-big--sm {
    font-size: 2.2em;
}

.ios-sb-sub,
.ios-sb-extra {
    margin: 8px 0 0;
    font-size: 1.05em;
    opacity: 0.9;
}

.ios-sb-view--photos {
    flex-direction: column;
}

.ios-sb-photo {
    width: min(720px, 88%);
    aspect-ratio: 16 / 10;
    border-radius: 24px;
    background-size: cover;
    background-position: center;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
}

.ios-sb-photo-clock {
    margin: 16px 0 0;
    font-size: 2.4em;
    font-weight: 300;
    letter-spacing: 0.04em;
}

.ios-sb-view--clock {
    flex-direction: column;
}

.ios-sb-clock {
    margin: 0;
    font-size: clamp(4em, 18vw, 9em);
    font-weight: 200;
    letter-spacing: 0.02em;
    line-height: 1;
}

.ios-sb-clock-date {
    margin: 12px 0 0;
    opacity: 0.7;
    font-size: 1.3em;
    font-weight: 500;
}

.ios-sb-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
}

.ios-sb-dots i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.28);
}

.ios-sb-dots i.on {
    background: #fff;
}

.ios-sb-hint {
    margin: 10px 0 0;
    opacity: 0.4;
    font-size: 0.72em;
    text-align: center;
}

html.ios-standby-on #ios-assistive-touch,
html.ios-standby-on #ios-keyboard,
html.ios-standby-on #ios-sys {
    display: none !important;
}

/* Screen Recording */
#ios-rec-pill {
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 76;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: #ff3b30;
    color: #fff;
    font: inherit;
    font-size: 0.78em;
    font-weight: 700;
    transform: translateX(-50%);
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(255, 59, 48, 0.4);
}

#ios-rec-pill[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-rec-pill {
    position: fixed;
}

.ios-rec-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #fff;
    animation: ios-kb-pulse 1s ease infinite;
}

.ios-rec-countdown {
    position: absolute;
    inset: 0;
    z-index: 78;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    font-size: 6em;
    font-weight: 200;
    pointer-events: none;
}

.ios-rec-countdown[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-rec-countdown {
    position: fixed;
}

#ios-rec-sheet {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    background: rgba(0, 0, 0, 0.35);
}

#ios-rec-sheet[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-rec-sheet {
    position: fixed;
}

html.ios-form-tablet #ios-rec-sheet {
    align-items: center;
}

.ios-rec-sheet-panel {
    width: min(360px, 92%);
    margin: 0 0 24px;
    padding: 18px 16px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.96);
    color: #f5f5f7;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-rec-sheet-panel {
    margin: 0;
    width: min(420px, 88%);
}

.ios-rec-sheet-head {
    margin: 0 0 12px;
    text-align: center;
}

.ios-rec-sheet-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-rec-sheet-title {
    margin: 2px 0 0;
    font-size: 1.05em;
    font-weight: 700;
    text-align: center;
}

.ios-rec-rows {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.ios-rec-rows li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ios-rec-rows li:last-child {
    border-bottom: 0;
}

.ios-rec-rows span {
    font-size: 0.9em;
    font-weight: 600;
}

.ios-rec-rows button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-rec-rows button.is-on,
.ios-rec-mic.is-on {
    color: #0a84ff;
}

.ios-rec-sheet-hint {
    margin: 0 0 12px;
    font-size: 0.78em;
    color: rgba(245, 245, 247, 0.55);
    text-align: center;
}

.ios-rec-start,
.ios-rec-cancel {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-rec-start {
    background: #ff3b30;
}

.ios-rec-mic-badge {
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: rgba(10, 132, 255, 0.45);
    font-size: 0.68em;
    font-weight: 700;
}

.ios-rec-mic-badge[hidden] {
    display: none !important;
}

html.ios-rec-show-touches body.ios-springboard {
    cursor: crosshair;
}

.ios-rec-toast {
    position: absolute;
    left: 50%;
    bottom: 40px;
    z-index: 79;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-rec-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-rec-toast {
    position: fixed;
}

.ios-cc-extra.is-recording {
    background: rgba(255, 59, 48, 0.45);
}

html.ios-screen-recording #iosheader #statusleft::before {
    content: '● ';
    color: #ff3b30;
}

/* Notification Center — haut-centre / horloge */
.ios-sys.is-nc .ios-sys__panel--nc {
    position: absolute;
    top: 48px;
    left: 50%;
    transform: translateX(-50%);
    width: min(420px, calc(100% - 28px));
    margin: 0;
    padding: 8px 0 16px;
    color: #f5f5f7;
}

.ios-nc-head {
    position: relative;
    text-align: center;
    margin-bottom: 16px;
    text-shadow: 0 1px 8px rgba(0, 0, 0, 0.35);
}

.ios-nc-date {
    margin: 0;
    font-size: 0.95em;
    font-weight: 600;
    opacity: 0.9;
}

.ios-nc-clock {
    margin: 2px 0 0;
    font-size: 3.2em;
    font-weight: 300;
    letter-spacing: -0.03em;
    line-height: 1;
}

.ios-nc-x {
    position: absolute;
    top: 4px;
    right: 0;
    min-width: 52px;
    height: 28px;
    padding: 0 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font: inherit;
    font-size: 0.72em;
    font-weight: 600;
    line-height: 28px;
    cursor: pointer;
}

.ios-nc-x[aria-pressed="true"] {
    background: rgba(255, 255, 255, 0.38);
}

.ios-nc-cols {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.ios-nc-today {
    display: none;
    gap: 10px;
    margin: 0;
    overflow-x: auto;
    padding: 0 2px 4px;
}

.ios-nc-today-kicker {
    display: none;
    grid-column: 1 / -1;
    margin: 0 0 2px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

html.ios-form-tablet .ios-nc-cols {
    flex-direction: row;
    align-items: flex-start;
    gap: 16px;
}

html.ios-form-tablet .ios-nc-today {
    display: grid;
    flex: 0 0 42%;
    grid-template-columns: 1fr 1fr;
    max-height: min(58vh, 480px);
    overflow-y: auto;
}

html.ios-form-tablet .ios-nc-today-kicker {
    display: block;
}

html.ios-form-tablet .ios-nc-main {
    flex: 1 1 auto;
    min-width: 0;
}

.ios-nc-widget {
    min-width: 0;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.78);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.22);
    cursor: pointer;
}

.ios-nc-widget__app {
    margin: 0 0 6px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    opacity: 0.65;
}

.ios-nc-widget__title {
    margin: 0;
    font-size: 1.15em;
    font-weight: 600;
    line-height: 1.2;
}

.ios-nc-widget__sub {
    margin: 4px 0 0;
    font-size: 0.82em;
    opacity: 0.7;
}

.ios-nc-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    max-height: min(52vh, 420px);
    overflow-y: auto;
}

html.ios-form-tablet .ios-sys.is-nc .ios-sys__panel--nc {
    width: min(720px, calc(100% - 48px));
}

.ios-nc-card {
    position: relative;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(44, 44, 46, 0.82);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    cursor: pointer;
}

.ios-nc-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 4px;
    padding-right: 52px;
    font-size: 0.78em;
    opacity: 0.75;
}

.ios-nc-card p {
    margin: 0;
    font-size: 0.92em;
    line-height: 1.35;
}

.ios-nc-card__item {
    position: relative;
    margin-top: 10px;
    padding: 8px 28px 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.ios-nc-card__item:first-of-type {
    border-top: 0;
    margin-top: 4px;
}

.ios-nc-card__dismiss {
    position: absolute;
    top: 8px;
    right: 8px;
    min-width: 44px;
    height: 22px;
    padding: 0 8px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font: inherit;
    font-size: 0.65em;
    font-weight: 600;
    line-height: 22px;
    cursor: pointer;
    opacity: 0;
}

.ios-nc-card:hover .ios-nc-card__dismiss,
.ios-nc-card:focus-within .ios-nc-card__dismiss,
html.ios-form-tablet .ios-nc-card__dismiss {
    opacity: 1;
}

.ios-nc-card__item .ios-nc-card__dismiss {
    top: 8px;
}

.ios-nc-showless {
    display: block;
    margin: 10px 0 0;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.7);
    font: inherit;
    font-size: 0.82em;
    font-weight: 600;
    cursor: pointer;
}

.ios-nc-clear {
    display: block;
    margin: 14px auto 0;
    border: 0;
    border-radius: 999px;
    padding: 8px 18px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font: inherit;
    font-size: 0.88em;
    font-weight: 600;
    cursor: pointer;
}

.ios-nc-clear[hidden] {
    display: none !important;
}

/* Spotlight — pastille Search (iPadOS : large, centré — Support Search on iPad) */
.ios-sys.is-spotlight .ios-sys__panel--spotlight {
    position: absolute;
    top: 18%;
    left: 50%;
    transform: translateX(-50%);
    width: min(520px, calc(100% - 32px));
    margin: 0;
    padding: 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.88);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.45);
    color: #f5f5f7;
}

html.ios-form-tablet .ios-sys.is-spotlight .ios-sys__panel--spotlight {
    top: 10%;
    width: min(720px, calc(100% - 80px));
    padding: 16px 18px 18px;
    border-radius: 22px;
}

.ios-spot-bar {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ios-spot-bar .ios-spot-field {
    flex: 1 1 auto;
    min-width: 0;
}

.ios-spot-cancel {
    flex: 0 0 auto;
    margin: 0;
    padding: 8px 4px;
    border: 0;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-spot-ask {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
    margin: 12px 0 0;
}

.ios-spot-ask[hidden] {
    display: none !important;
}

.ios-spot-ask-btn {
    margin: 0;
    padding: 8px 14px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.82em;
    font-weight: 600;
    cursor: pointer;
}

.ios-spot-body {
    max-height: min(58vh, 520px);
    overflow-y: auto;
}

html.ios-form-tablet .ios-spot-body {
    max-height: min(62vh, 560px);
}

.ios-spot-kicker {
    margin: 14px 4px 6px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.55);
}

.ios-spot-kicker[hidden] { display: none !important; }

.ios-spot-section {
    margin: 14px 4px 6px;
    padding: 0;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.55);
    list-style: none;
}

.ios-spot-tip {
    margin: 0 0 6px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: rgba(245, 245, 247, 0.72);
    font-size: 0.88em;
    list-style: none;
}

.ios-spot-face {
    display: flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    overflow: hidden;
    border-radius: 8px;
}

.ios-spot-face .cal-face,
.ios-spot-face .phone-face,
.ios-spot-face .shell-face {
    width: 36px !important;
    height: 36px !important;
    border-radius: 8px !important;
    padding-top: 2px !important;
    box-shadow: none !important;
}

.ios-spot-face .cal-dow { font-size: 7px !important; }
.ios-spot-face .cal-dom { font-size: 18px !important; margin-top: 0 !important; }
.ios-spot-face .phone-face svg,
.ios-spot-face .shell-face svg { width: 20px !important; height: 20px !important; }
.ios-spot-face .shell-face img { width: 60% !important; height: 60% !important; }

.ios-spot-ico {
    display: block;
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    border: 2px solid rgba(255, 255, 255, 0.55);
    border-radius: 50%;
    box-shadow: 4px 4px 0 -2px rgba(255, 255, 255, 0.55);
    box-sizing: border-box;
}

.ios-spot-field {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
}

.ios-spot-field input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 1.05em;
}

.ios-spot-results {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
}

html.ios-form-tablet .ios-spot-results--grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 8px;
}

html.ios-form-tablet .ios-spot-results--grid .ios-spot-section,
html.ios-form-tablet .ios-spot-results--grid .ios-spot-tip,
html.ios-form-tablet .ios-spot-results--grid .ios-spot-empty {
    grid-column: 1 / -1;
}

.ios-spot-hit {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0 0 6px;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-spot-hit img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
}

.ios-spot-glyph {
    display: flex;
    flex: 0 0 36px;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.72em;
    font-weight: 700;
}

.ios-spot-glyph--set::before { content: 'Set'; }
.ios-spot-glyph--doc::before { content: 'Doc'; }
.ios-spot-glyph--cal::before { content: 'Cal'; }
.ios-spot-glyph--rem::before { content: 'Rem'; }
.ios-spot-glyph--focus::before { content: 'Focus'; }
.ios-spot-glyph--people::before { content: 'People'; }
.ios-spot-glyph--msg::before { content: 'Msg'; }

.ios-spot-glyph--cal { background: #ff3b30; }
.ios-spot-glyph--rem { background: #5856d6; }
.ios-spot-glyph--focus { background: #5e5ce6; }
.ios-spot-glyph--people { background: #8e8e93; }
.ios-spot-glyph--msg { background: #34c759; }
.ios-spot-glyph--set { background: #8e8e93; }
.ios-spot-glyph--doc { background: #0a84ff; }

.ios-spot-hit__meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.ios-spot-hit__meta b {
    font-weight: 600;
}

.ios-spot-hit__meta small {
    font-size: 0.78em;
    opacity: 0.65;
}

.ios-spot-empty {
    padding: 16px 8px;
    text-align: center;
    opacity: 0.55;
    font-size: 0.92em;
}

html.ios-form-phone body.ios-springboard #ios-sys {
    position: fixed;
}

/* ─── Multitasking Controls + Slide Over (HIG iPadOS) ─── */
.ios-mt-bar {
    display: none;
}

html.ios-form-tablet body.ios-springboard #ios-app .ios-mt-bar {
    position: absolute;
    top: 6px;
    left: 50%;
    z-index: 50;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

html.ios-form-tablet body.ios-springboard .ios-mt-dots {
    min-width: 72px;
    height: 24px;
    padding: 0 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(60, 60, 67, 0.28);
    color: rgba(60, 60, 67, 0.9);
    font: inherit;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 24px;
    cursor: pointer;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

html.ios-form-tablet body.ios-springboard .ios-mt-menu {
    margin-top: 6px;
    padding: 6px;
    border-radius: 14px;
    background: rgba(44, 44, 46, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 160px;
}

html.ios-form-tablet body.ios-springboard .ios-mt-menu[hidden] {
    display: none !important;
}

html.ios-form-tablet body.ios-springboard .ios-mt-menu button {
    border: 0;
    border-radius: 10px;
    padding: 10px 12px;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

html.ios-form-tablet body.ios-springboard .ios-mt-menu button:hover {
    background: rgba(255, 255, 255, 0.12);
}

#ios-slide-over {
    display: none;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over {
    position: absolute;
    top: 48px;
    bottom: 24px;
    z-index: 45;
    display: flex;
    flex-direction: column;
    width: min(360px, 38%);
    border-radius: 18px;
    overflow: hidden;
    background: #1c1c1e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.08);
}

html.ios-form-tablet body.ios-springboard #ios-slide-over[hidden] {
    display: none !important;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.ios-slide-over--right {
    right: 12px;
    left: auto;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.ios-slide-over--left {
    left: 12px;
    right: auto;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.ios-slide-over--split {
    top: 0;
    bottom: 0;
    width: 50%;
    border-radius: 0;
    right: 0;
    left: auto;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.ios-slide-over--split.ios-slide-over--left {
    left: 0;
    right: auto;
}

html.ios-form-tablet body.ios-springboard #ios-device.ios-so-active #ios-app {
    /* Stage Manager inset may already apply; keep room for Slide Over visually */
}

html.ios-form-tablet body.ios-springboard #ios-device.ios-so-split #ios-app {
    width: 50%;
    right: auto;
}

html.ios-form-tablet body.ios-springboard #ios-so-picker {
    position: absolute;
    inset: 0;
    z-index: 55;
    display: flex;
    align-items: center;
    justify-content: center;
}

html.ios-form-tablet body.ios-springboard #ios-so-picker[hidden] {
    display: none !important;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__sheet {
    position: relative;
    z-index: 1;
    width: min(420px, 90%);
    max-height: min(70vh, 520px);
    display: flex;
    flex-direction: column;
    border-radius: 18px;
    background: rgba(28, 28, 30, 0.96);
    color: #f5f5f7;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 0.5px solid #3a3a3c;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__head p {
    margin: 0;
    font-weight: 700;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__head button {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__lead {
    margin: 10px 14px 6px;
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.85em;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__list {
    list-style: none;
    margin: 0;
    padding: 0 0 12px;
    overflow-y: auto;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__list button {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 10px 14px;
    border: 0;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__list button:hover {
    background: rgba(255, 255, 255, 0.08);
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__list img,
html.ios-form-tablet body.ios-springboard .ios-so-picker__list span {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    flex: 0 0 auto;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__list span {
    display: grid;
    place-items: center;
    background: #48484a;
    font-weight: 700;
}

html.ios-form-tablet body.ios-springboard .ios-so-picker__empty {
    padding: 24px;
    text-align: center;
    opacity: 0.55;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.is-parked {
    width: 0;
    border: 0;
    box-shadow: none;
    background: transparent;
    overflow: visible;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.is-parked .ios-so-chrome,
html.ios-form-tablet body.ios-springboard #ios-slide-over.is-parked .ios-so-frame {
    display: none;
}

html.ios-form-tablet body.ios-springboard .ios-so-chrome {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 36px;
    padding: 0 10px;
    background: rgba(44, 44, 46, 0.95);
    color: #f5f5f7;
}

html.ios-form-tablet body.ios-springboard .ios-so-grab,
html.ios-form-tablet body.ios-springboard .ios-so-close {
    border: 0;
    background: transparent;
    color: #f5f5f7;
    cursor: pointer;
    font: inherit;
    font-size: 0.78em;
    font-weight: 700;
    line-height: 1;
    min-width: 48px;
}

html.ios-form-tablet body.ios-springboard .ios-so-grab {
    opacity: 0.95;
}

html.ios-form-tablet body.ios-springboard .ios-so-title {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: capitalize;
}

html.ios-form-tablet body.ios-springboard .ios-so-close {
    font-size: 1.35em;
    opacity: 0.85;
}

html.ios-form-tablet body.ios-springboard .ios-so-frame {
    flex: 1 1 auto;
    width: 100%;
    min-height: 0;
    border: 0;
    background: #fff;
}

html.ios-form-tablet body.ios-springboard .ios-so-park-tab {
    position: absolute;
    top: 40%;
    width: 22px;
    height: 64px;
    border: 0;
    border-radius: 10px;
    background: rgba(44, 44, 46, 0.9);
    color: #fff;
    font-size: 1.1em;
    cursor: pointer;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.35);
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.ios-slide-over--right .ios-so-park-tab {
    right: 0;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.ios-slide-over--left .ios-so-park-tab {
    left: 0;
}

html.ios-form-tablet body.ios-springboard #ios-slide-over.is-parked .ios-so-park-tab {
    display: block;
}

html.ios-form-phone body.ios-springboard #ios-slide-over,
html.ios-form-phone body.ios-springboard .ios-mt-bar {
    display: none !important;
}

/* ─── App Library (HIG iPadOS / iOS) ─── */
#ios-app-library {
    position: absolute;
    inset: 0;
    z-index: 35;
    display: flex;
    flex-direction: column;
    padding: 12px 16px 20px;
    background: rgba(28, 28, 30, 0.55);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    color: #f5f5f7;
    overflow: hidden;
}

#ios-app-library[hidden] {
    display: none !important;
}

.ios-al-head {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    margin-bottom: 14px;
}

.ios-al-head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.ios-al-search {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
}

.ios-al-search-ico {
    flex: 0 0 auto;
    width: 14px;
    height: 14px;
    border: 2px solid rgba(255, 255, 255, 0.65);
    border-radius: 50%;
    box-shadow: 5px 5px 0 -3px rgba(255, 255, 255, 0.65);
}

.ios-al-search input {
    flex: 1 1 auto;
    min-width: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 1.02em;
}

.ios-al-view,
.ios-al-close {
    border: 0;
    border-radius: 999px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-al-view[hidden] {
    display: none !important;
}

.ios-al-cat-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 10px;
}

.ios-al-cat-head h2 {
    margin: 0;
}

.ios-al-see {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-size: 0.72em;
    font-weight: 700;
    cursor: pointer;
}

.ios-al-letter {
    padding: 8px 4px 2px;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.78em;
    font-weight: 700;
    letter-spacing: 0.04em;
}

html.ios-form-tablet .ios-al-cats,
.ios-al--tablet .ios-al-cats {
    grid-template-columns: 1fr 1fr 1fr;
}

.ios-al-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.ios-al-cats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

html.ios-form-phone .ios-al-cats {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.ios-al-cat {
    padding: 12px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.1);
}

.ios-al-cat h2 {
    margin: 0 0 10px;
    font-size: 0.78em;
    font-weight: 700;
    letter-spacing: 0.01em;
    opacity: 0.85;
}

.ios-al-cat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.ios-al-app {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
    margin: 0;
    padding: 4px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    font-size: 0.62em;
    cursor: pointer;
}

.ios-al-app:disabled {
    opacity: 0.45;
    cursor: default;
}

.ios-al-app img,
.ios-al-fallback {
    width: 48px;
    height: 48px;
    border-radius: 11px;
}

.ios-al-fallback {
    display: grid;
    place-items: center;
    background: #48484a;
    font-size: 1.4em;
    font-weight: 700;
}

.ios-al-app span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    opacity: 0.9;
}

.ios-al-alpha {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ios-al-alpha .ios-al-app {
    flex-direction: row;
    justify-content: flex-start;
    gap: 12px;
    padding: 8px 10px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.95em;
}

.ios-al-alpha .ios-al-app img,
.ios-al-alpha .ios-al-fallback {
    width: 40px;
    height: 40px;
}

.ios-al-empty {
    padding: 24px;
    text-align: center;
    opacity: 0.55;
}

/* Dock — bouton App Library (tablette / Show App Library in Dock) */
.ios-al-dock {
    display: none;
}

html.ios-form-tablet body.ios-springboard .ios-al-dock {
    display: grid;
    place-items: center;
    width: 76px;
    height: 76px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.22);
    cursor: pointer;
    flex: 0 0 auto;
}

html.ios-form-tablet body.ios-springboard .ios-al-dock.is-active {
    box-shadow: inset 0 0 0 2px rgba(10, 132, 255, 0.85);
}

html.ios-form-tablet body.ios-springboard .ios-al-dock-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    width: 34px;
    height: 34px;
}

html.ios-form-tablet body.ios-springboard .ios-al-dock-grid i {
    display: block;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.92);
}

html.ios-form-tablet body.ios-springboard .ios-al-dock-grid i:nth-child(1) { background: #0a84ff; }
html.ios-form-tablet body.ios-springboard .ios-al-dock-grid i:nth-child(2) { background: #30d158; }
html.ios-form-tablet body.ios-springboard .ios-al-dock-grid i:nth-child(3) { background: #ff9f0a; }
html.ios-form-tablet body.ios-springboard .ios-al-dock-grid i:nth-child(4) { background: #ff375f; }

html.ios-form-phone body.ios-springboard .ios-al-dock {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-app-library {
    position: fixed;
}

#sb-points [data-page="library"] {
    /* même pastille que les pages Home */
}

/* ─── App Switcher / Exposé pédagogique ─── */
#ios-app-switcher {
    position: absolute;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ios-app-switcher[hidden] {
    display: none !important;
}

.ios-as-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.ios-as-panel {
    position: relative;
    z-index: 1;
    width: min(920px, calc(100% - 24px));
    max-height: calc(100% - 40px);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 16px 8px 12px;
}

.ios-as-head {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    justify-content: center;
    gap: 8px;
    color: #f5f5f7;
}

.ios-as-kicker {
    width: 100%;
    margin: 0;
    text-align: center;
    font-size: 0.68em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-as-title {
    margin: 0;
    font-size: 1.25em;
    font-weight: 700;
}

.ios-as-clear {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.75em;
    font-weight: 600;
    cursor: pointer;
}

.ios-as-clear[hidden] {
    display: none !important;
}

.ios-as-hint {
    margin: 0;
    text-align: center;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.72em;
}

.ios-as-multi {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 8px;
}

.ios-as-multi[hidden] {
    display: none !important;
}

.ios-as-multi button {
    margin: 0;
    padding: 8px 14px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-as-rail {
    display: flex;
    flex-direction: row;
    gap: 16px;
    overflow-x: auto;
    padding: 8px 12px 16px;
    -webkit-overflow-scrolling: touch;
}

html.ios-form-tablet .ios-as-rail,
.ios-app-switcher--tablet .ios-as-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    overflow: auto;
    max-height: min(58vh, 480px);
}

.ios-as-card {
    position: relative;
    flex: 0 0 auto;
    width: min(200px, 42vw);
}

html.ios-form-tablet .ios-as-card,
.ios-app-switcher--tablet .ios-as-card {
    width: auto;
}

.ios-as-card-main {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    cursor: pointer;
}

.ios-as-preview {
    position: relative;
    display: grid;
    place-items: center;
    height: 240px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.12);
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

html.ios-form-tablet .ios-as-preview,
.ios-app-switcher--tablet .ios-as-preview {
    height: 180px;
}

.ios-as-preview-label {
    position: absolute;
    left: 10px;
    bottom: 10px;
    padding: 3px 8px;
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.45);
    font-size: 0.68em;
    font-weight: 600;
}

.ios-as-card.is-active .ios-as-preview {
    box-shadow: 0 0 0 2px #0a84ff, 0 16px 40px rgba(0, 0, 0, 0.35);
}

.ios-as-preview img,
.ios-as-fallback {
    width: 72px;
    height: 72px;
    border-radius: 16px;
}

.ios-as-fallback {
    display: grid;
    place-items: center;
    background: #48484a;
    font-size: 1.8em;
    font-weight: 700;
    color: #fff;
}

.ios-as-name {
    text-align: center;
    font-size: 0.85em;
    font-weight: 600;
    text-transform: capitalize;
}

.ios-as-kill {
    position: absolute;
    top: 8px;
    right: 8px;
    min-width: 48px;
    height: 26px;
    padding: 0 8px;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.45);
    color: #fff;
    font: inherit;
    font-size: 0.65em;
    font-weight: 700;
    line-height: 26px;
    cursor: pointer;
}

.ios-as-home {
    align-self: center;
    border: 0;
    border-radius: 999px;
    padding: 10px 18px;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-as-empty {
    margin: 40px auto 0;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.95em;
    text-align: center;
    grid-column: 1 / -1;
}

.ios-as-empty-hint {
    margin: 8px auto 40px;
    color: rgba(255, 255, 255, 0.4);
    font-size: 0.78em;
    text-align: center;
    grid-column: 1 / -1;
}

/* Home bar shell — téléphone (apps en iframe) + tablette complément */
#ios-shell-home.ios-shell-home {
    position: absolute;
    left: 50%;
    bottom: 8px;
    z-index: 55;
    display: block;
    width: 134px;
    height: 5px;
    margin: 0 0 0 -67px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.55);
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.12);
}

html.ios-form-phone body.ios-springboard #ios-shell-home.ios-shell-home {
    position: fixed;
    bottom: 10px;
}

/* GT iPhone 13 : pas de barre d'accueil sur le springboard au repos ; elle apparaît dans les apps. */
html.ios-form-phone body.ios-springboard:not(:has(#ios-app[data-app])) #ios-shell-home.ios-shell-home {
    display: none;
}

html.ios-form-phone body.ios-springboard #ios-app-switcher {
    position: fixed;
}

html.ios-form-tablet body.ios-springboard #ios-shell-home.ios-shell-home {
    bottom: 6px;
}

/* ─── Lock Screen pédagogique (doc Apple wake/unlock) ─── */
#ios-lock-screen {
    position: absolute;
    inset: 0;
    z-index: 80;
    display: flex;
    flex-direction: column;
    padding: 14px 18px 18px;
    color: #f5f5f7;
    overflow: hidden;
}

#ios-lock-screen[hidden] {
    display: none !important;
}

.ios-ls-wallpaper {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(120% 80% at 70% 20%, rgba(255, 120, 90, 0.55), transparent 55%),
        radial-gradient(90% 70% at 20% 80%, rgba(40, 160, 220, 0.45), transparent 50%),
        linear-gradient(165deg, #1a1520 0%, #2a2030 45%, #0e1a28 100%);
    z-index: 0;
}

.ios-ls-status,
.ios-ls-clock,
.ios-ls-notifs,
.ios-ls-pass,
.ios-ls-footer,
.ios-ls-hint {
    position: relative;
    z-index: 1;
}

.ios-ls-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 28px;
    font-size: 0.78em;
    font-weight: 600;
    opacity: 0.85;
}

.ios-ls-status-trail {
    margin-left: auto;
    font-size: 0.72em;
    opacity: 0.7;
}

html.ios-form-phone .ios-ls-status-trail {
    display: none;
}

.ios-ls-lock {
    display: inline-block;
    width: 12px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 3px;
    position: relative;
}

.ios-ls-lock::before {
    content: "";
    position: absolute;
    left: 1px;
    top: -7px;
    width: 6px;
    height: 7px;
    border: 2px solid currentColor;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
}

.ios-ls-clock {
    text-align: center;
    margin: 28px 0 20px;
    text-shadow: 0 2px 16px rgba(0, 0, 0, 0.35);
}

.ios-ls-time {
    margin: 0;
    font-size: 4.6em;
    font-weight: 300;
    letter-spacing: -0.04em;
    line-height: 1;
}

.ios-ls-date {
    margin: 6px 0 0;
    font-size: 1.15em;
    font-weight: 600;
}

.ios-ls-notifs {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 0 4px;
}

.ios-ls-card {
    position: relative;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(44, 44, 46, 0.72);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    cursor: pointer;
}

.ios-ls-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 4px;
    font-size: 0.78em;
    opacity: 0.75;
}

.ios-ls-card p {
    margin: 0;
    font-size: 0.92em;
    line-height: 1.35;
}

.ios-ls-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 12px;
}

.ios-ls-shortcut,
.ios-ls-unlock {
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-ls-shortcut {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    font-size: 0.68em;
}

.ios-ls-shortcut.is-on {
    background: rgba(255, 214, 10, 0.55);
    color: #1c1c1e;
}

.ios-ls-unlock {
    flex: 1 1 auto;
    padding: 12px 16px;
    font-size: 0.92em;
}

.ios-ls-hint {
    margin: 10px 0 0;
    text-align: center;
    font-size: 0.65em;
    color: rgba(255, 255, 255, 0.45);
}

.ios-ls-pass {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 16px;
}

.ios-ls-pass[hidden] {
    display: none !important;
}

.ios-ls-pass-title {
    margin: 0;
    font-size: 1.15em;
    font-weight: 600;
}

.ios-ls-dots {
    display: flex;
    gap: 12px;
}

.ios-ls-dots i {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, 0.75);
}

.ios-ls-dots i.on {
    background: #fff;
}

.ios-ls-pad {
    display: grid;
    grid-template-columns: repeat(3, 72px);
    gap: 12px;
}

.ios-ls-pad.is-shake {
    animation: ios-ls-shake 0.4s ease;
}

@keyframes ios-ls-shake {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-8px); }
    40% { transform: translateX(8px); }
    60% { transform: translateX(-6px); }
    80% { transform: translateX(6px); }
}

.ios-ls-key {
    width: 72px;
    height: 72px;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
    font: inherit;
    font-size: 1.4em;
    font-weight: 400;
    cursor: pointer;
}

.ios-ls-key--empty {
    visibility: hidden;
}

.ios-ls-cancel-pass {
    border: 0;
    background: transparent;
    color: #fff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

html.ios-form-phone body.ios-springboard #ios-lock-screen {
    position: fixed;
}

html.ios-is-locked body.ios-springboard #ios-shell-home {
    opacity: 0.35;
    pointer-events: none;
}

/* ─── Focus mode + Lock Screen widgets ─── */
.ios-focus-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 22px;
    margin-left: 6px;
    padding: 0 8px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    color: inherit;
    font: inherit;
    font-size: 0.62em;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1;
    cursor: pointer;
}

.ios-focus-badge[hidden] {
    display: none !important;
}

#ios-focus-picker {
    position: absolute;
    inset: 0;
    z-index: 75;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-focus-picker[hidden] {
    display: none !important;
}

.ios-focus-picker__scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}

.ios-focus-picker__sheet {
    position: relative;
    z-index: 1;
    width: min(420px, calc(100% - 24px));
    max-height: min(88vh, 640px);
    margin-bottom: 24px;
    padding: 14px 14px 18px;
    border-radius: 22px;
    background: rgba(44, 44, 46, 0.92);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    color: #f5f5f7;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
    overflow: auto;
    box-sizing: border-box;
}

.ios-focus-picker__head {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 12px;
}

.ios-focus-picker__kicker {
    width: 100%;
    margin: 0;
    font-size: 0.68em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
    text-align: center;
}

.ios-focus-picker__title {
    flex: 1 1 auto;
    margin: 0;
    text-align: center;
    font-size: 1.15em;
    font-weight: 700;
}

.ios-focus-picker__done {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-focus-picker__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

html.ios-form-tablet .ios-focus-picker__list,
.ios-focus-picker--tablet .ios-focus-picker__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

html.ios-form-tablet .ios-focus-picker__sheet,
.ios-focus-picker--tablet .ios-focus-picker__sheet {
    width: min(560px, calc(100% - 48px));
    margin-bottom: 32px;
}

.ios-focus-option {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-focus-option.is-active {
    background: rgba(10, 132, 255, 0.4);
    box-shadow: inset 0 0 0 1px rgba(10, 132, 255, 0.7);
}

.ios-focus-option__ico {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.62em;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    text-align: center;
}

.ios-focus-option__txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.ios-focus-option__txt strong {
    font-size: 0.95em;
}

.ios-focus-option__txt em {
    font-style: normal;
    font-size: 0.72em;
    opacity: 0.65;
}

.ios-focus-option__check {
    display: none;
    flex: 0 0 auto;
    margin: 0;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.22);
    font-size: 0.65em;
    font-weight: 700;
}

.ios-focus-option.is-active .ios-focus-option__check {
    display: inline-block;
}

.ios-focus-detail {
    margin: 12px 0 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(0, 0, 0, 0.22);
}

.ios-focus-detail[hidden] {
    display: none !important;
}

.ios-focus-detail__title {
    margin: 0 0 8px;
    font-size: 0.95em;
    font-weight: 700;
}

.ios-focus-detail__dl {
    margin: 0;
    display: grid;
    gap: 8px;
}

.ios-focus-detail__dl div {
    display: grid;
    gap: 2px;
}

.ios-focus-detail__dl dt {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-focus-detail__dl dd {
    margin: 0;
    font-size: 0.88em;
}

.ios-focus-share {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 12px 0 0;
    padding: 10px 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.88em;
    font-weight: 600;
    cursor: pointer;
}

.ios-focus-share input {
    width: 40px;
    height: 24px;
    accent-color: #30d158;
}

.ios-focus-detail__note {
    margin: 10px 0 0;
    font-size: 0.7em;
    opacity: 0.55;
    line-height: 1.35;
}

.ios-focus-picker__hint {
    margin: 12px 4px 0;
    font-size: 0.68em;
    color: rgba(255, 255, 255, 0.45);
    text-align: center;
}

.ios-focus-silenced {
    opacity: 0.28;
    filter: grayscale(0.4);
    pointer-events: none;
}

html.ios-focus-sleep #ios-lock-screen .ios-ls-wallpaper {
    filter: brightness(0.55);
}

html.ios-form-phone body.ios-springboard #ios-focus-picker {
    position: fixed;
}

/* Lock Screen widgets */
.ios-ls-widgets {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
}

.ios-ls-widget {
    padding: 10px;
    border-radius: 16px;
    background: rgba(44, 44, 46, 0.55);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    cursor: pointer;
    min-height: 84px;
}

.ios-ls-widget__kicker {
    margin: 0 0 4px;
    font-size: 0.68em;
    font-weight: 600;
    opacity: 0.7;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.ios-ls-widget__value {
    margin: 0;
    font-size: 1.15em;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ios-ls-widget__sub {
    margin: 4px 0 0;
    font-size: 0.72em;
    opacity: 0.75;
    line-height: 1.25;
}

.ios-ls-focus-label {
    margin: 8px 0 0;
    font-size: 0.85em;
    font-weight: 600;
    opacity: 0.85;
}

.ios-ls-focus-label[hidden] {
    display: none !important;
}

.ios-ls-auth {
    margin: 10px 0 0;
    font-size: 0.78em;
    font-weight: 600;
    opacity: 0.65;
}

.ios-ls-widget__value--sm {
    font-size: 0.95em;
}

.ios-ls-widget--weather {
    background: linear-gradient(160deg, rgba(10, 132, 255, 0.45), rgba(100, 210, 255, 0.25));
}

.ios-ls-widget--fitness {
    background: linear-gradient(160deg, rgba(255, 55, 95, 0.4), rgba(255, 159, 10, 0.28));
}

.ios-ls-widget--music {
    background: linear-gradient(160deg, rgba(252, 60, 68, 0.4), rgba(250, 45, 85, 0.28));
}

.ios-ls-notifs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 8px;
}

.ios-ls-notifs-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-ls-notifs-clear {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font: inherit;
    font-size: 0.68em;
    font-weight: 700;
    cursor: pointer;
}

.ios-ls-notifs-clear[hidden] {
    display: none !important;
}

.ios-ls-card--stack::after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: -5px;
    height: 8px;
    border-radius: 0 0 14px 14px;
    background: rgba(44, 44, 46, 0.45);
    z-index: -1;
}

.ios-ls-card__extra {
    margin: 4px 0 0;
    opacity: 0.7;
    font-size: 0.85em;
}

.ios-ls-card[hidden] {
    display: none !important;
}

.ios-ls-summary {
    margin: 8px 2px 0;
    font-size: 0.72em;
    opacity: 0.55;
}

.ios-ls-pass-sub {
    margin: 0 0 10px;
    text-align: center;
    font-size: 0.78em;
    opacity: 0.65;
}

.ios-ls-key--del {
    font-size: 0.72em;
    font-weight: 700;
}

.ios-ls-shortcut--wallet {
    min-width: 64px;
}

html.ios-form-tablet .ios-ls-footer,
.ios-lock-screen--tablet .ios-ls-footer {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    gap: 10px;
}

html.ios-form-tablet .ios-ls-widgets,
.ios-lock-screen--tablet .ios-ls-widgets {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

html.ios-form-tablet .ios-ls-live--tablet,
.ios-ls-live--tablet {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

@media (max-width: 699px) {
    .ios-ls-widgets {
        grid-template-columns: 1fr 1fr;
    }
    .ios-ls-widget--battery,
    .ios-ls-widget--music,
    .ios-ls-shortcut--wallet,
    #ios-ls-cc {
        display: none;
    }
}

/* ─── Live Activities (Lock Screen + barre Home) ─── */
.ios-ls-live {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 0 14px;
    position: relative;
    z-index: 1;
}

.ios-ls-live[hidden] {
    display: none !important;
}

.ios-la-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(28, 28, 30, 0.78);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.ios-la-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-la-card--maps {
    cursor: pointer;
}

.ios-la-card--timer {
    background: linear-gradient(160deg, rgba(255, 159, 10, 0.35), rgba(28, 28, 30, 0.85));
}

.ios-la-card--fitness {
    background: linear-gradient(160deg, rgba(255, 55, 95, 0.35), rgba(28, 28, 30, 0.85));
    cursor: pointer;
}

.ios-la-maps-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background:
        linear-gradient(135deg, #34c759 0%, #30d158 55%, #64d2ff 100%);
    flex: 0 0 auto;
    color: #fff;
    font-size: 0.58em;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.ios-la-card--maps .ios-la-media-meta {
    flex: 1 1 auto;
}

.ios-la-media-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.ios-la-media-meta strong {
    font-size: 0.95em;
}

.ios-la-media-meta span {
    font-size: 0.78em;
    opacity: 0.7;
}

.ios-la-progress {
    height: 4px;
    margin: 10px 0 12px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    overflow: hidden;
}

.ios-la-progress i {
    display: block;
    height: 100%;
    border-radius: 999px;
    background: #fff;
}

.ios-la-controls {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.ios-la-controls button,
.ios-la-dismiss {
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-la-controls button {
    min-width: 64px;
    padding: 8px 12px;
}

.ios-la-dismiss {
    padding: 6px 10px;
    flex: 0 0 auto;
}

#ios-live-bar {
    position: absolute;
    left: 50%;
    /* Au-dessus du dock iPad (~68px + marges) — ne pas intercepter les taps dock. */
    bottom: 96px;
    z-index: 42;
    display: flex;
    gap: 8px;
    transform: translateX(-50%);
    max-width: calc(100% - 24px);
    pointer-events: none;
}

#ios-live-bar .ios-live-pill {
    pointer-events: auto;
}

#ios-live-bar[hidden] {
    display: none !important;
}

.ios-live-pill {
    border: 0;
    border-radius: 999px;
    padding: 8px 14px;
    background: rgba(28, 28, 30, 0.82);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
}

html.ios-form-phone body.ios-springboard #ios-live-bar {
    position: fixed;
    bottom: 28px;
}

html.ios-is-locked #ios-live-bar {
    display: none !important;
}

/* Phone unlocked : Live Activities → Dynamic Island (pas de pills bas). */
html.ios-form-phone:not(.ios-is-locked) #ios-live-bar {
    display: none !important;
}

/* Dynamic Island — iPhone déverrouillé uniquement (pas d’équivalent iPadOS). */
#ios-dynamic-island {
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 58;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    transform: translateX(-50%);
    max-width: calc(100% - 48px);
    pointer-events: auto;
}

#ios-dynamic-island[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-dynamic-island {
    position: fixed;
    top: 11px;
}

html.ios-form-tablet #ios-dynamic-island,
html.ios-is-locked #ios-dynamic-island {
    display: none !important;
}

.ios-di-compact {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-width: 126px;
    max-width: 220px;
    height: 36px;
    margin: 0;
    padding: 0 14px 0 12px;
    border: 0;
    border-radius: 22px;
    background: #0a0a0a;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.06),
        0 10px 28px rgba(0, 0, 0, 0.45);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.72em;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: min-width 0.22s ease, height 0.22s ease, border-radius 0.22s ease;
}

#ios-dynamic-island.is-expanded .ios-di-compact {
    min-width: 248px;
    height: 40px;
    border-radius: 24px;
}

.ios-di-dot {
    flex: 0 0 auto;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #30d158;
    box-shadow: 0 0 8px rgba(48, 209, 88, 0.55);
}

.ios-di-compact-label {
    flex: 1 1 auto;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.ios-di-compact-trailing {
    flex: 0 0 auto;
    opacity: 0.72;
    font-variant-numeric: tabular-nums;
}

.ios-di-count {
    flex: 0 0 auto;
    min-width: 16px;
    height: 16px;
    padding: 0 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    font-size: 0.65em;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
}

.ios-di-count[hidden] {
    display: none !important;
}

.ios-di-expanded {
    width: min(300px, 86vw);
    margin: 0;
    padding: 14px 14px 12px;
    border-radius: 22px;
    background: rgba(22, 22, 24, 0.94);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.08),
        0 18px 40px rgba(0, 0, 0, 0.5);
    color: #f5f5f7;
}

.ios-di-expanded[hidden] {
    display: none !important;
}

.ios-di-expanded-kicker {
    margin: 0 0 6px;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-di-expanded-title {
    margin: 0 0 4px;
    font-size: 0.95em;
    font-weight: 700;
}

.ios-di-expanded-sub {
    margin: 0 0 12px;
    opacity: 0.72;
    font-size: 0.8em;
}

.ios-di-expanded-media {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin: 0 0 12px;
}

.ios-di-expanded-media[hidden] {
    display: none !important;
}

.ios-di-expanded-media button {
    margin: 0;
    min-width: 56px;
    padding: 8px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font: inherit;
    font-size: 0.72em;
    font-weight: 600;
    cursor: pointer;
}

html.ios-form-tablet #ios-live-bar:not([hidden]) {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    bottom: 88px;
    max-width: min(720px, calc(100% - 48px));
}

.ios-di-expanded-actions {
    display: flex;
    flex-flow: row wrap;
    gap: 8px;
}

.ios-di-expanded-actions button {
    flex: 1 1 auto;
    min-width: 64px;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-di-expanded-actions button:hover {
    background: rgba(255, 255, 255, 0.18);
}

/* Picture in Picture — phone + tablette (HIG multitasking). */
#ios-pip {
    position: absolute;
    z-index: 56;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 14px;
    background: #111113;
    box-shadow:
        0 0 0 1px rgba(255, 255, 255, 0.1),
        0 18px 40px rgba(0, 0, 0, 0.45);
    color: #f5f5f7;
    font: inherit;
    cursor: grab;
    user-select: none;
    touch-action: none;
    transition: width 0.2s ease, height 0.2s ease, opacity 0.18s ease;
}

#ios-pip[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-pip {
    position: fixed;
}

#ios-pip.is-dragging {
    position: fixed !important;
    z-index: 70;
    cursor: grabbing;
    transition: none;
}

#ios-pip.ios-pip--s {
    width: 148px;
    height: 98px;
}

#ios-pip.ios-pip--m {
    width: 196px;
    height: 128px;
}

#ios-pip.ios-pip--l {
    width: 260px;
    height: 168px;
}

#ios-pip.ios-pip--tablet.ios-pip--l {
    width: 340px;
    height: 220px;
}

#ios-pip.ios-pip--tablet.ios-pip--m {
    width: 260px;
    height: 170px;
}

#ios-pip.ios-pip--br {
    right: 12px;
    bottom: 56px;
    left: auto;
    top: auto;
}

#ios-pip.ios-pip--bl {
    left: 12px;
    bottom: 56px;
    right: auto;
    top: auto;
}

#ios-pip.ios-pip--tr {
    right: 12px;
    top: 52px;
    left: auto;
    bottom: auto;
}

#ios-pip.ios-pip--tl {
    left: 12px;
    top: 52px;
    right: auto;
    bottom: auto;
}

#ios-pip.is-docked.ios-pip--br,
#ios-pip.is-docked.ios-pip--tr {
    right: -148px;
    opacity: 0.55;
}

#ios-pip.is-docked.ios-pip--bl,
#ios-pip.is-docked.ios-pip--tl {
    left: -148px;
    opacity: 0.55;
}

.ios-pip__video {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    background: #1c1c1e;
}

.ios-pip__poster {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(ellipse at 30% 30%, rgba(90, 200, 250, 0.55), transparent 55%),
        radial-gradient(ellipse at 70% 70%, rgba(255, 55, 95, 0.4), transparent 50%),
        linear-gradient(135deg, #1c1c1e, #2c2c2e 55%, #0a84ff);
}

.ios-pip.is-playing .ios-pip__scan {
    position: absolute;
    left: -20%;
    top: 0;
    width: 40%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent);
    animation: ios-pip-scan 2.4s linear infinite;
}

@keyframes ios-pip-scan {
    from { transform: translateX(0); }
    to { transform: translateX(320%); }
}

.ios-pip__meta {
    display: flex;
    flex-direction: column;
    gap: 1px;
    padding: 6px 8px 4px;
}

.ios-pip__title {
    font-size: 0.72em;
    font-weight: 700;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ios-pip__sub {
    opacity: 0.7;
    font-size: 0.62em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ios-pip__route {
    opacity: 0.55;
    font-size: 0.58em;
    font-weight: 600;
}

.ios-pip__captions {
    position: absolute;
    left: 6px;
    right: 6px;
    bottom: 6px;
    margin: 0;
    padding: 4px 6px;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.55);
    color: #f5f5f7;
    font-size: 0.58em;
    font-weight: 600;
    text-align: center;
    z-index: 2;
}

.ios-pip__captions[hidden] {
    display: none !important;
}

#ios-pip.is-muted .ios-pip__poster {
    filter: grayscale(0.35);
}

.ios-pip__controls button.is-on {
    background: rgba(10, 132, 255, 0.45);
}

.ios-pip__progress {
    height: 2px;
    margin: 0 8px 6px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.16);
    overflow: hidden;
}

.ios-pip__progress i {
    display: block;
    height: 100%;
    background: #0a84ff;
}

.ios-pip__controls {
    display: flex;
    flex-flow: row wrap;
    gap: 4px;
    padding: 0 6px 8px;
}

.ios-pip__controls[hidden] {
    display: none !important;
}

.ios-pip__controls button,
.ios-pip__restore {
    margin: 0;
    padding: 5px 7px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.62em;
    font-weight: 600;
    cursor: pointer;
}

.ios-pip__restore {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    padding: 8px 12px;
}

html.ios-is-locked #ios-pip {
    display: none !important;
}

/* Share Sheet — phone (bottom sheet) + tablette (carte centrée). */
#ios-share-sheet {
    position: absolute;
    inset: 0;
    z-index: 62;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-share-sheet[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-share-sheet {
    position: fixed;
}

html.ios-form-tablet #ios-share-sheet {
    align-items: center;
}

.ios-share-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.38);
}

.ios-share-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(420px, 100%);
    max-height: min(78vh, 640px);
    margin: 0;
    padding: 14px 14px 18px;
    border: 0;
    border-radius: 18px 18px 0 0;
    background: rgba(242, 242, 247, 0.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.28);
    color: #1c1c1e;
    overflow: auto;
}

html.ios-form-tablet .ios-share-panel {
    width: min(460px, 92%);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}

.ios-share-head {
    margin: 0 0 12px;
    text-align: center;
}

.ios-share-kicker {
    margin: 0 0 4px;
    opacity: 0.55;
    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-share-title {
    margin: 0 0 4px;
    font-size: 1.05em;
    font-weight: 700;
}

.ios-share-url {
    margin: 0;
    opacity: 0.55;
    font-size: 0.78em;
    word-break: break-all;
}

.ios-share-row {
    display: flex;
    flex-flow: row nowrap;
    gap: 14px;
    margin: 0 0 14px;
    padding: 4px 2px 8px;
    overflow-x: auto;
}

.ios-share-person,
.ios-share-app {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    min-width: 64px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 0.68em;
    font-weight: 600;
    cursor: pointer;
}

.ios-share-avatar,
.ios-share-app-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #0a84ff;
    color: #fff;
    font-size: 0.62em;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.1;
    text-align: center;
}

.ios-share-avatar--2 {
    background: #34c759;
}

.ios-share-avatar--air {
    background: #1c1c1e;
}

.ios-share-app-ico {
    border-radius: 14px;
}

.ios-share-app-ico--msg {
    background: #34c759;
}

.ios-share-app-ico--mail {
    background: #007aff;
}

.ios-share-app-ico--files {
    background: #5856d6;
}

.ios-share-app-ico--notes {
    background: #ffcc00;
    color: #1c1c1e;
}

.ios-share-app-ico--short {
    background: #ff9500;
}

html.ios-form-tablet .ios-share-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

html.ios-form-tablet .ios-share-actions li + li {
    border-top: 0;
}

html.ios-form-tablet .ios-share-actions li:nth-child(odd) {
    border-right: 1px solid rgba(60, 60, 67, 0.18);
}

html.ios-form-tablet .ios-share-actions li:nth-child(n + 3) {
    border-top: 1px solid rgba(60, 60, 67, 0.18);
}

.ios-share-actions {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.ios-share-actions li + li {
    border-top: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-share-actions button {
    display: block;
    width: 100%;
    margin: 0;
    padding: 14px 16px;
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.ios-share-actions button:hover {
    background: rgba(0, 122, 255, 0.06);
}

.ios-share-cancel {
    width: 100%;
    margin: 0;
    padding: 14px;
    border: 0;
    border-radius: 14px;
    background: #fff;
    color: #007aff;
    font: inherit;
    font-size: 1em;
    font-weight: 600;
    cursor: pointer;
}

.ios-share-toast {
    position: sticky;
    bottom: 0;
    margin: 10px 0 0;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(28, 28, 30, 0.92);
    color: #f5f5f7;
    font-size: 0.82em;
    font-weight: 600;
    text-align: center;
}

.ios-share-toast[hidden] {
    display: none !important;
}

/* Today View — widgets (swipe pedagogy depuis Home page 0). */
#ios-today-view {
    position: absolute;
    inset: 0;
    z-index: 54;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

#ios-today-view[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-today-view {
    position: fixed;
}

.ios-today-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
}

.ios-today-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(340px, 88%);
    height: 100%;
    margin: 0;
    padding: 52px 14px 18px;
    border: 0;
    background: rgba(28, 28, 30, 0.92);
    backdrop-filter: blur(28px);
    -webkit-backdrop-filter: blur(28px);
    box-shadow: 12px 0 40px rgba(0, 0, 0, 0.35);
    color: #f5f5f7;
    overflow: auto;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-today-panel {
    width: min(420px, 46%);
    border-radius: 0 18px 18px 0;
}

html.ios-form-tablet .ios-today-stack {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

html.ios-form-tablet .ios-today-widget--stack {
    grid-column: 1 / -1;
}

.ios-today-head {
    display: flex;
    flex-flow: row wrap;
    align-items: baseline;
    gap: 8px;
    margin: 0 0 14px;
}

.ios-today-kicker {
    width: 100%;
    margin: 0;
    opacity: 0.55;
    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-today-title {
    flex: 1 1 auto;
    margin: 0;
    font-size: 1.35em;
    font-weight: 700;
}

.ios-today-edit,
.ios-today-done {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-today-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ios-today-widget {
    position: relative;
    margin: 0;
    padding: 12px 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.95);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
    cursor: pointer;
}

.ios-today-widget--cal {
    background: linear-gradient(160deg, #ff3b30, #ff695e 55%, #ff9f0a);
}

.ios-today-widget--remind {
    background: linear-gradient(160deg, #5856d6, #af52de);
}

.ios-today-widget--battery {
    background: linear-gradient(160deg, #30d158, #34c759);
    color: #0b1a0e;
}

.ios-today-widget--news {
    background: linear-gradient(160deg, #ff2d55, #ff375f);
}

.ios-today-widget--stack {
    background: linear-gradient(160deg, #0a84ff, #5ac8fa);
}

.ios-today-widget--weather {
    background: linear-gradient(160deg, #64d2ff, #0a84ff 70%);
}

.ios-today-widget--fitness {
    background: linear-gradient(160deg, #ff375f, #ff9f0a);
}

.ios-today-widget--music {
    background: linear-gradient(160deg, #fc3c44, #fa2d55);
}

.ios-today-remove {
    display: none;
    position: absolute;
    top: 8px;
    right: 8px;
    margin: 0;
    padding: 4px 8px;
    border: 0;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    font: inherit;
    font-size: 0.65em;
    font-weight: 700;
    cursor: pointer;
}

.ios-today-panel.is-editing .ios-today-remove {
    display: block;
}

.ios-today-edit-hint {
    margin: 8px 0 0;
    opacity: 0.6;
    font-size: 0.72em;
}

.ios-today-edit-hint[hidden] {
    display: none !important;
}

.ios-today-widget[hidden] {
    display: none !important;
}

.ios-tw-kicker {
    margin: 0 0 4px;
    opacity: 0.85;
    font-size: 0.72em;
    font-weight: 700;
}

.ios-tw-value {
    margin: 0;
    font-size: 1.7em;
    font-weight: 700;
    line-height: 1.1;
}

.ios-tw-value--sm {
    font-size: 1.05em;
}

.ios-tw-sub,
.ios-tw-extra {
    margin: 4px 0 0;
    opacity: 0.9;
    font-size: 0.8em;
}

.ios-tw-dots {
    display: flex;
    gap: 4px;
    margin-top: 10px;
}

.ios-tw-dots i {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
}

.ios-tw-dots i.on {
    background: #fff;
}

.ios-today-hint {
    margin: 14px 0 10px;
    opacity: 0.55;
    font-size: 0.72em;
}

.ios-today-panel.is-editing .ios-today-widget {
    outline: 2px dashed rgba(255, 255, 255, 0.35);
    outline-offset: 2px;
}

html.ios-is-locked #ios-today-view {
    display: none !important;
}

/* Edit Home Screen (jiggle) + Quick Actions. */
html.ios-home-editing body.ios-springboard #desktop a[data-link],
body.ios-home-editing.ios-springboard #desktop a[data-link],
html.ios-home-editing body.ios-springboard #tableau a[data-link],
body.ios-home-editing.ios-springboard #tableau a[data-link] {
    animation: ios-sb-jiggle 0.28s ease-in-out infinite alternate;
    cursor: grab;
}

html.ios-home-editing body.ios-springboard #desktop a[data-link]:nth-child(2n),
body.ios-home-editing.ios-springboard #desktop a[data-link]:nth-child(2n) {
    animation-delay: -0.08s;
}

html.ios-home-editing body.ios-springboard #desktop a[data-link]:nth-child(3n),
body.ios-home-editing.ios-springboard #desktop a[data-link]:nth-child(3n) {
    animation-delay: -0.16s;
}

@keyframes ios-sb-jiggle {
    from { transform: rotate(-1.4deg) scale(1.01); }
    to { transform: rotate(1.4deg) scale(0.99); }
}

#desktop a[data-link] {
    position: relative;
}

.ios-sb-remove {
    position: absolute;
    top: -4px;
    left: -4px;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(60, 60, 67, 0.88);
    color: #f5f5f7;
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

#desktop a.ios-sb-dragging {
    opacity: 0.55;
    z-index: 4;
}

#ios-home-edit-bar {
    position: absolute;
    top: 48px;
    left: 50%;
    z-index: 55;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    transform: translateX(-50%);
    pointer-events: none;
}

#ios-home-edit-bar[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-home-edit-bar {
    position: fixed;
}

.ios-home-edit-actions {
    display: flex;
    gap: 8px;
    pointer-events: auto;
}

#ios-home-edit-done,
#ios-home-edit-wallpaper {
    margin: 0;
    padding: 8px 18px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: #007aff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

#ios-home-edit-wallpaper {
    background: rgba(28, 28, 30, 0.88);
    color: #f5f5f7;
}

.ios-home-edit-hint {
    margin: 0;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.45);
    color: #f5f5f7;
    font-size: 0.68em;
    font-weight: 600;
    white-space: nowrap;
}

#ios-quick-actions {
    position: absolute;
    z-index: 66;
    width: min(220px, 72vw);
    margin: 0;
    padding: 10px 0 6px;
    border-radius: 16px;
    background: rgba(242, 242, 247, 0.96);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    box-shadow:
        0 0 0 1px rgba(0, 0, 0, 0.08),
        0 18px 40px rgba(0, 0, 0, 0.35);
    color: #1c1c1e;
}

#ios-quick-actions[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-quick-actions {
    position: fixed;
}

.ios-qa-title {
    margin: 0 12px 8px;
    font-size: 0.78em;
    font-weight: 700;
    opacity: 0.55;
}

.ios-qa-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ios-qa-list li + li {
    border-top: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-qa-list button {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-size: 0.92em;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.ios-qa-list button:hover {
    background: rgba(0, 122, 255, 0.08);
}

html.ios-is-locked #ios-quick-actions,
html.ios-is-locked #ios-home-edit-bar {
    display: none !important;
}

/* Dossiers SpringBoard */
.sb-folder {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    cursor: pointer;
    user-select: none;
}

.sb-folder-face {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 3px;
    width: 60px;
    height: 60px;
    margin: 0;
    padding: 6px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.22);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    box-sizing: border-box;
    cursor: pointer;
}

html.ios-form-tablet body.ios-springboard .sb-folder-face {
    width: 72px;
    height: 72px;
    border-radius: 16px;
}

.sb-folder-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 6px;
    background: rgba(0, 0, 0, 0.18);
    font-size: 0.7em;
    font-weight: 700;
    color: #fff;
}

.sb-folder-cell img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.sb-folder .sb-label {
    font-size: 0.72em;
    font-weight: 500;
    text-align: center;
    max-width: 74px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#desktop a.ios-sb-merge,
.sb-folder.ios-sb-merge .sb-folder-face {
    outline: 3px solid rgba(10, 132, 255, 0.85);
    outline-offset: 2px;
    transform: scale(1.06);
}

#ios-folder-overlay {
    position: absolute;
    inset: 0;
    z-index: 57;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ios-folder-overlay[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-folder-overlay {
    position: fixed;
}

.ios-folder-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.ios-folder-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(300px, 86%);
    margin: 0;
    padding: 18px 16px 14px;
    border-radius: 28px;
    background: rgba(60, 60, 67, 0.55);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
    color: #f5f5f7;
}

.ios-folder-name {
    width: 80%;
    margin: 0 0 16px;
    padding: 8px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 1.05em;
    font-weight: 700;
    text-align: center;
}

.ios-folder-body {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 14px 10px;
    width: 100%;
    margin: 0 0 14px;
}

.ios-folder-app {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    font-size: 0.68em;
    font-weight: 500;
    cursor: pointer;
}

.ios-folder-app img {
    width: 52px;
    height: 52px;
    border-radius: 12px;
}

.ios-folder-close {
    margin: 0;
    padding: 8px 18px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

/* Wallpaper gallery + custom Home/Lock */
#ios-wallpaper-gallery {
    position: absolute;
    inset: 0;
    z-index: 68;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-wallpaper-gallery[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-wallpaper-gallery {
    position: fixed;
}

html.ios-form-tablet #ios-wallpaper-gallery {
    align-items: center;
}

.ios-wp-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.ios-wp-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(440px, 100%);
    max-height: min(82vh, 720px);
    margin: 0;
    padding: 16px 14px 18px;
    border-radius: 20px 20px 0 0;
    background: rgba(28, 28, 30, 0.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    color: #f5f5f7;
    overflow: auto;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-wp-panel {
    width: min(520px, 92%);
    border-radius: 20px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, 0.45);
}

.ios-wp-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 0 0 6px;
}

.ios-wp-head-mid {
    flex: 1 1 auto;
}

.ios-wp-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-wp-head h2 {
    margin: 0;
    font-size: 1.2em;
    font-weight: 700;
}

.ios-wp-x {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.8em;
    font-weight: 600;
    cursor: pointer;
}

.ios-wp-lead {
    margin: 0 0 12px;
    opacity: 0.65;
    font-size: 0.82em;
}

.ios-wp-preview {
    display: flex;
    gap: 12px;
    margin: 0 0 12px;
}

.ios-wp-preview[hidden] {
    display: none !important;
}

.ios-wp-preview-lock,
.ios-wp-preview-home {
    position: relative;
    flex: 1 1 0;
    height: 110px;
    border-radius: 14px;
    background-color: #3a3a3c;
    background-size: cover;
    background-position: center;
    overflow: hidden;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.ios-wp-preview-lock span,
.ios-wp-preview-home span {
    position: absolute;
    left: 8px;
    bottom: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.45);
    font-size: 0.68em;
    font-weight: 700;
}

.ios-wp-preview--perspective .ios-wp-preview-lock,
.ios-wp-preview--perspective .ios-wp-preview-home {
    transform: scale(1.04);
}

.ios-wp-cats {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 12px;
}

.ios-wp-cats button {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.75em;
    font-weight: 600;
    cursor: pointer;
}

.ios-wp-cats button.is-active {
    background: rgba(10, 132, 255, 0.45);
}

.ios-wp-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin: 0 0 14px;
}

#ios-wallpaper-gallery.ios-wallpaper-gallery--tablet .ios-wp-grid {
    grid-template-columns: repeat(4, 1fr);
}

.ios-wp-empty {
    grid-column: 1 / -1;
    margin: 0;
    padding: 18px;
    text-align: center;
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.85em;
}

.ios-wp-options {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.ios-wp-options li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.85em;
    font-weight: 600;
}

.ios-wp-options li:last-child {
    border-bottom: 0;
}

.ios-wp-options button {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-wp-options button.is-on {
    color: #0a84ff;
}

.ios-wp-hint {
    margin: 10px 0 0;
    font-size: 0.72em;
    color: rgba(245, 245, 247, 0.5);
    text-align: center;
}

html.ios-wallpaper-perspective.ios-custom-home-wallpaper body.ios-springboard,
html.ios-wallpaper-perspective.ios-custom-home-wallpaper #ios-stage {
    background-size: 108% auto !important;
}

.ios-wp-card {
    position: relative;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    aspect-ratio: 9 / 16;
    margin: 0;
    padding: 8px 6px;
    border: 2px solid transparent;
    border-radius: 14px;
    background-color: #3a3a3c;
    background-size: cover;
    background-position: center;
    color: #fff;
    font: inherit;
    font-size: 0.62em;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.7);
    cursor: pointer;
    overflow: hidden;
}

.ios-wp-card.is-default {
    background-image:
        radial-gradient(120% 80% at 70% 20%, rgba(255, 120, 90, 0.55), transparent 55%),
        radial-gradient(90% 70% at 20% 80%, rgba(40, 160, 220, 0.45), transparent 50%),
        linear-gradient(165deg, #1a1520 0%, #2a2030 45%, #0e1a28 100%);
}

.ios-wp-card.is-selected {
    border-color: #0a84ff;
    box-shadow: 0 0 0 2px rgba(10, 132, 255, 0.35);
}

.ios-wp-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ios-wp-actions button {
    margin: 0;
    padding: 12px 14px;
    border: 0;
    border-radius: 12px;
    background: #0a84ff;
    color: #fff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-wp-actions button[data-wp-apply="home"],
.ios-wp-actions button[data-wp-apply="lock"] {
    background: rgba(255, 255, 255, 0.14);
}

/* Form factor pedagogy sheet */
#ios-form-factor {
    position: absolute;
    inset: 0;
    z-index: 69;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-form-factor[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-form-factor {
    position: fixed;
}

html.ios-form-tablet #ios-form-factor {
    align-items: center;
}

.ios-ff-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-ff-panel {
    position: relative;
    z-index: 1;
    width: min(400px, 94%);
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-radius: 18px 18px 0 0;
    background: rgba(245, 245, 247, 0.97);
    color: #1c1c1e;
    overflow: auto;
}

html.ios-form-tablet .ios-ff-panel {
    margin: 0;
    border-radius: 18px;
}

#ios-form-factor.ios-form-factor--tablet .ios-ff-panel {
    width: min(460px, 88%);
}

.ios-ff-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-ff-kicker {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ios-ff-title {
    margin: 0;
    font-weight: 700;
}

.ios-ff-head button {
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-ff-lead {
    margin: 10px 14px;
    font-size: 0.82em;
    color: #8e8e93;
}

.ios-ff-choices {
    display: flex;
    gap: 10px;
    margin: 0 14px 12px;
}

.ios-ff-choices button {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 14px 10px;
    border: 2px solid transparent;
    border-radius: 14px;
    background: #fff;
    color: #1c1c1e;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ff-choices button.is-selected {
    border-color: #007aff;
    box-shadow: 0 0 0 2px rgba(0, 122, 255, 0.2);
}

.ios-ff-device {
    display: block;
    border-radius: 8px;
    background: #1c1c1e;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.ios-ff-device--phone {
    width: 36px;
    height: 64px;
    border-radius: 10px;
}

.ios-ff-device--tablet {
    width: 72px;
    height: 52px;
    border-radius: 8px;
}

.ios-ff-rows {
    list-style: none;
    margin: 0 14px;
    padding: 0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.ios-ff-rows li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.1);
    font-weight: 600;
}

.ios-ff-rows li:last-child {
    border-bottom: 0;
}

.ios-ff-rows button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-ff-rows button.is-on {
    color: #007aff;
}

.ios-ff-rows button.is-disabled {
    opacity: 0.45;
}

.ios-ff-status {
    margin: 12px 14px 0;
    font-size: 0.85em;
    font-weight: 600;
    text-align: center;
    color: #3a3a3c;
}

.ios-ff-hint {
    margin: 6px 14px 0;
    font-size: 0.72em;
    color: #8e8e93;
    text-align: center;
}

html.ios-hide-home-indicator .ios-home-indicator {
    opacity: 0;
    pointer-events: none;
}

/* Custom Home wallpaper — masque calques Φ phone ; tablette déjà sans calques. */
html.ios-custom-home-wallpaper body.ios-springboard {
    background-image: var(--ios-home-wallpaper) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

html.ios-custom-home-wallpaper body.ios-springboard > [id^="ios-wall-"],
html.ios-custom-home-wallpaper body.ios-springboard::before,
html.ios-custom-home-wallpaper body.ios-springboard::after {
    display: none !important;
}

html.ios-form-tablet.ios-custom-home-wallpaper #ios-stage {
    background-image: var(--ios-home-wallpaper);
    background-size: cover;
    background-position: center;
    background-color: #1c1c1e;
}

html.ios-custom-lock-wallpaper #ios-lock-screen .ios-ls-wallpaper {
    background-size: cover;
    background-position: center;
}

/* Clavier logiciel AZERTY — phone docké ; tablette full ou floating. */
#ios-keyboard {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 64;
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    padding: 8px 6px 12px;
    border: 0;
    background: rgba(209, 212, 217, 0.96);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 -8px 28px rgba(0, 0, 0, 0.18);
    color: #1c1c1e;
    user-select: none;
    touch-action: manipulation;
}

#ios-keyboard[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-keyboard {
    position: fixed;
}

#ios-keyboard.ios-keyboard--floating {
    left: auto;
    right: 24px;
    bottom: 28px;
    width: min(340px, 46vw);
    border-radius: 16px;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.ios-kb-suggest {
    display: flex;
    gap: 6px;
    justify-content: space-around;
    padding: 0 4px 4px;
}

.ios-kb-suggest button {
    flex: 1 1 auto;
    margin: 0;
    padding: 8px 6px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.55);
    color: #1c1c1e;
    font: inherit;
    font-size: 0.85em;
    font-weight: 500;
    cursor: pointer;
}

.ios-kb-rows {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.ios-kb-row {
    display: flex;
    justify-content: center;
    gap: 5px;
}

.ios-kb-key {
    flex: 1 1 0;
    min-width: 0;
    max-width: 42px;
    height: 42px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
    color: #1c1c1e;
    font: inherit;
    font-size: 1.05em;
    font-weight: 400;
    cursor: pointer;
}

.ios-kb-key:active {
    background: #bdbfc3;
}

.ios-kb-key--mod,
.ios-kb-key--space {
    max-width: none;
    background: #abb0b8;
    font-size: 0.78em;
    font-weight: 600;
}

.ios-kb-key--mod.is-on {
    background: #fff;
    color: #007aff;
}

.ios-kb-key--wide {
    flex: 1.35 1 0;
    max-width: 72px;
}

.ios-kb-key--space {
    flex: 4 1 0;
    max-width: none;
}

.ios-kb-key--mod {
    font-size: 0.62em;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ios-kb-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 4px 0;
}

.ios-kb-toolbar button {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #3a3a3c;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

html.ios-form-tablet #ios-keyboard .ios-kb-key {
    height: 48px;
    max-width: 52px;
    font-size: 1.1em;
}

/* Screenshot + Markup */
html.ios-ss-flash body.ios-springboard {
    animation: ios-ss-flash 0.16s ease;
}

@keyframes ios-ss-flash {
    0% { filter: brightness(1); }
    40% { filter: brightness(2.2); }
    100% { filter: brightness(1); }
}

#ios-ss-thumb {
    position: absolute;
    left: 14px;
    bottom: 28px;
    z-index: 80;
    width: 92px;
    height: 168px;
    margin: 0;
    padding: 0;
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 12px;
    overflow: hidden;
    background: #1c1c1e;
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.45);
    cursor: pointer;
    animation: ios-ss-thumb-in 0.35s ease;
}

#ios-ss-thumb[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-ss-thumb {
    position: fixed;
}

html.ios-form-tablet #ios-ss-thumb {
    width: 140px;
    height: 100px;
}

@keyframes ios-ss-thumb-in {
    from {
        opacity: 0;
        transform: translateY(24px) scale(0.92);
    }
    to {
        opacity: 1;
        transform: none;
    }
}

.ios-ss-thumb-preview {
    display: block;
    width: 100%;
    height: calc(100% - 22px);
    background:
        linear-gradient(160deg, #1c1c1e 0%, #3a3a3c 45%, #0a84ff 100%);
}

.ios-ss-thumb-label {
    display: block;
    padding: 2px 0 4px;
    font-size: 0.62em;
    font-weight: 700;
    color: #f5f5f7;
    text-align: center;
    background: rgba(0, 0, 0, 0.55);
}

#ios-ss-editor {
    position: absolute;
    inset: 0;
    z-index: 81;
    display: flex;
    flex-direction: column;
    background: #000;
    color: #f5f5f7;
}

#ios-ss-editor[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-ss-editor {
    position: fixed;
}

.ios-ss-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    background: rgba(28, 28, 30, 0.96);
}

.ios-ss-bar-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-ss-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-ss-title {
    display: block;
    font-size: 0.95em;
    font-weight: 700;
}

.ios-ss-done,
.ios-ss-delete {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ss-delete {
    color: #ff453a;
}

.ios-ss-mode {
    display: flex;
    justify-content: center;
    gap: 6px;
    padding: 8px 12px 0;
    background: rgba(28, 28, 30, 0.96);
}

.ios-ss-mode button {
    margin: 0;
    padding: 8px 16px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.82em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ss-mode button.is-active {
    background: rgba(10, 132, 255, 0.45);
}

.ios-ss-canvas-wrap {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 0;
    padding: 12px;
    box-sizing: border-box;
}

#ios-ss-canvas {
    max-width: 100%;
    max-height: 100%;
    border-radius: 12px;
    background: #1c1c1e;
    touch-action: none;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.5);
}

.ios-ss-colors {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 8px 12px;
    background: rgba(28, 28, 30, 0.96);
}

.ios-ss-colors button {
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.25);
}

.ios-ss-colors button.is-active {
    border-color: #f5f5f7;
    transform: scale(1.12);
}

.ios-ss-tools {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 10px 18px;
    background: rgba(28, 28, 30, 0.96);
}

.ios-ss-tools button {
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.82em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ss-tools button.is-active {
    background: rgba(10, 132, 255, 0.45);
}

html.ios-form-tablet #ios-ss-editor.ios-ss-editor--tablet .ios-ss-tools {
    gap: 10px;
    padding: 14px 18px 22px;
}

html.ios-form-tablet #ios-ss-editor.ios-ss-editor--tablet .ios-ss-tools button {
    padding: 12px 16px;
    font-size: 0.9em;
}

.ios-ss-toast {
    position: absolute;
    left: 50%;
    bottom: 36px;
    z-index: 82;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-ss-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-ss-toast {
    position: fixed;
}

html.ios-ss-editing #ios-assistive-touch,
html.ios-ss-editing #ios-keyboard,
html.ios-ss-editing #ios-sys,
html.ios-ss-editing #ios-rec-pill {
    display: none !important;
}

/* AirPlay / Screen Mirroring */
#ios-airplay {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-airplay[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-airplay {
    position: fixed;
}

html.ios-form-tablet #ios-airplay {
    align-items: center;
}

.ios-ap-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-ap-panel {
    position: relative;
    z-index: 1;
    width: min(360px, 94%);
    margin: 0 0 22px;
    padding: 18px 14px 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.97);
    color: #f5f5f7;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-ap-panel {
    margin: 0;
}

.ios-ap-head {
    margin: 0 0 4px;
    text-align: center;
}

.ios-ap-kicker {
    margin: 0 0 4px;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-ap-title {
    margin: 0 0 4px;
    font-size: 1.1em;
    font-weight: 700;
    text-align: center;
}

.ios-ap-lead {
    margin: 0 0 12px;
    font-size: 0.85em;
    color: rgba(245, 245, 247, 0.65);
    text-align: center;
}

.ios-ap-section {
    margin: 0 0 6px;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-ap-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 12px;
}

html.ios-form-tablet .ios-ap-panel,
.ios-airplay--tablet .ios-ap-panel {
    width: min(480px, 94%);
}

html.ios-form-tablet .ios-ap-list,
.ios-airplay--tablet .ios-ap-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}

.ios-ap-device {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-ap-device.is-active {
    background: rgba(10, 132, 255, 0.35);
    box-shadow: inset 0 0 0 1px rgba(10, 132, 255, 0.7);
}

.ios-ap-device-ico {
    flex: 0 0 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.58em;
    font-weight: 800;
}

.ios-ap-device-txt {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1 1 auto;
}

.ios-ap-check {
    display: none;
    flex: 0 0 auto;
    padding: 3px 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.2);
    font-size: 0.65em;
    font-weight: 700;
}

.ios-ap-device.is-active .ios-ap-check {
    display: inline-block;
}

.ios-ap-name {
    font-size: 0.95em;
    font-weight: 600;
}

.ios-ap-kind {
    font-size: 0.78em;
    color: rgba(245, 245, 247, 0.6);
}

.ios-ap-bar-icon {
    font-size: 0.65em;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.ios-ap-toast {
    position: absolute;
    left: 50%;
    bottom: 140px;
    z-index: 77;
    transform: translateX(-50%);
    padding: 10px 16px;
    border-radius: 999px;
    background: rgba(28, 28, 30, 0.9);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
}

.ios-ap-toast[hidden] {
    display: none !important;
}

.ios-ap-stop,
.ios-ap-cancel {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ap-stop {
    background: rgba(255, 69, 58, 0.35);
    color: #ffd7d4;
}

#ios-ap-bar {
    position: absolute;
    top: 10px;
    left: 50%;
    z-index: 76;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(28, 28, 30, 0.92);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    transform: translateX(-50%);
    cursor: pointer;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

#ios-ap-bar[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-ap-bar {
    position: fixed;
}

html.ios-airplay-on #iosheader #statusleft::after {
    content: ' Mirror';
    color: #30d158;
    font-size: 0.85em;
    font-weight: 700;
}

/* Reachability */
html.ios-reachability-on #ios-stage,
html.ios-reachability-on #ios-device,
html.ios-reachability-on body.ios-springboard #desktop,
html.ios-reachability-on body.ios-springboard #tableau,
html.ios-reachability-on body.ios-springboard #dock,
html.ios-reachability-on body.ios-springboard #iosheader {
    transform: translateY(42%);
    transition: transform 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

html.ios-form-tablet.ios-reachability-on #ios-stage,
html.ios-form-tablet.ios-reachability-on #ios-device {
    transform: translateY(28%);
}

html:not(.ios-reachability-on) #ios-stage,
html:not(.ios-reachability-on) #ios-device {
    transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.ios-reach-toast {
    position: absolute;
    left: 50%;
    top: 18px;
    z-index: 85;
    padding: 10px 14px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.82em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-reach-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-reach-toast {
    position: fixed;
}

.ios-reach-banner {
    position: absolute;
    left: 50%;
    top: 12px;
    z-index: 86;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: min(360px, calc(100% - 28px));
    margin: 0;
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    transform: translateX(-50%);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.4);
    text-align: center;
}

.ios-reach-banner[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-reach-banner {
    position: fixed;
}

.ios-reach-banner-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: #0a84ff;
}

.ios-reach-banner-lead {
    margin: 0;
    font-size: 0.85em;
    font-weight: 600;
    line-height: 1.35;
}

#ios-reach-restore {
    margin: 4px 0 0;
    padding: 8px 16px;
    border: 0;
    border-radius: 999px;
    background: rgba(10, 132, 255, 0.35);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 700;
    cursor: pointer;
}

html.ios-reachability-tablet .ios-reach-banner {
    width: min(480px, calc(100% - 48px));
    border: 1px solid rgba(10, 132, 255, 0.35);
}

/* Quick Note (iPadOS) */
#ios-quick-note {
    position: absolute;
    right: 18px;
    bottom: 28px;
    z-index: 78;
    width: min(380px, 42vw);
}

#ios-quick-note[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-quick-note {
    position: fixed;
    right: 12px;
    bottom: 20px;
    width: min(320px, 88vw);
}

#ios-quick-note.ios-quick-note--tablet {
    width: min(640px, 58vw);
}

.ios-qn-panel {
    display: flex;
    flex-direction: column;
    height: 340px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.96);
    color: #1c1c1e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

html.ios-form-tablet .ios-qn-panel {
    height: 400px;
}

#ios-quick-note.ios-quick-note--tablet .ios-qn-panel {
    display: grid;
    grid-template-columns: 1fr 168px;
    grid-template-rows: auto auto auto auto 1fr auto;
    height: 420px;
}

#ios-quick-note.ios-quick-note--tablet .ios-qn-head,
#ios-quick-note.ios-quick-note--tablet .ios-qn-link,
#ios-quick-note.ios-quick-note--tablet .ios-qn-title-input,
#ios-quick-note.ios-quick-note--tablet .ios-qn-format,
#ios-quick-note.ios-quick-note--tablet .ios-qn-body,
#ios-quick-note.ios-quick-note--tablet .ios-qn-foot {
    grid-column: 1;
}

#ios-quick-note.ios-quick-note--tablet .ios-qn-rail {
    grid-column: 2;
    grid-row: 1 / -1;
}

.ios-qn-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    background: rgba(242, 242, 247, 0.95);
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-qn-head-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-qn-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-qn-title {
    margin: 0;
    font-size: 0.95em;
    font-weight: 700;
}

.ios-qn-head button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-qn-link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: rgba(0, 122, 255, 0.08);
    border-bottom: 1px solid rgba(60, 60, 67, 0.08);
}

.ios-qn-link.is-off {
    opacity: 0.55;
}

.ios-qn-link-kicker {
    font-size: 0.68em;
    font-weight: 700;
    color: #007aff;
    text-transform: uppercase;
}

.ios-qn-link-url {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 0.78em;
    color: #3a3a3c;
}

#ios-qn-link-toggle {
    margin: 0;
    padding: 4px 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-qn-title-input {
    width: 100%;
    margin: 0;
    padding: 10px 14px 0;
    border: 0;
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    font-size: 1.05em;
    font-weight: 700;
    box-sizing: border-box;
}

.ios-qn-title-input:focus {
    outline: none;
}

.ios-qn-format {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px 0;
}

.ios-qn-format button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(60, 60, 67, 0.1);
    color: #3a3a3c;
    font: inherit;
    font-size: 0.75em;
    font-weight: 600;
    cursor: pointer;
}

.ios-qn-format button.is-active {
    background: rgba(0, 122, 255, 0.18);
    color: #007aff;
}

.ios-qn-body {
    flex: 1 1 auto;
    width: 100%;
    margin: 0;
    padding: 10px 14px 8px;
    border: 0;
    resize: none;
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    font-size: 1em;
    line-height: 1.4;
    box-sizing: border-box;
}

.ios-qn-body--heading {
    font-size: 1.15em;
    font-weight: 700;
}

.ios-qn-body--title {
    font-size: 1.25em;
    font-weight: 700;
}

.ios-qn-body:focus {
    outline: none;
}

.ios-qn-rail {
    display: flex;
    flex-direction: column;
    border-left: 1px solid rgba(60, 60, 67, 0.12);
    background: rgba(242, 242, 247, 0.85);
    overflow: auto;
}

.ios-qn-rail[hidden] {
    display: none !important;
}

.ios-qn-rail-title {
    margin: 0;
    padding: 12px 12px 6px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-qn-rail-list {
    list-style: none;
    margin: 0;
    padding: 0 8px 12px;
}

.ios-qn-rail-list button {
    display: block;
    width: 100%;
    margin: 0 0 6px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
    color: #1c1c1e;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-qn-rail-list button.is-active {
    box-shadow: inset 0 0 0 1.5px #007aff;
}

.ios-qn-rail-list strong {
    display: block;
    font-size: 0.82em;
}

.ios-qn-rail-list span {
    display: block;
    margin-top: 2px;
    font-size: 0.72em;
    color: #8e8e93;
}

.ios-qn-rail-empty {
    padding: 12px;
    font-size: 0.78em;
    color: #8e8e93;
}

.ios-qn-foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px 12px;
}

.ios-qn-foot button {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(0, 122, 255, 0.12);
    color: #007aff;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-qn-hint {
    margin-left: auto;
    font-size: 0.72em;
    color: rgba(60, 60, 67, 0.55);
}

.ios-qn-toast {
    position: absolute;
    left: 50%;
    bottom: 36px;
    z-index: 79;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-qn-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-qn-toast {
    position: fixed;
}

/* Magnifier */
#ios-magnifier {
    position: absolute;
    inset: 0;
    z-index: 83;
    display: flex;
    flex-direction: column;
    background: #000;
    color: #f5f5f7;
}

#ios-magnifier[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-magnifier {
    position: fixed;
}

.ios-mag-stage {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    margin: 8px 16px 8px;
    border-radius: 18px;
    overflow: hidden;
}

.ios-mag-view {
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 35% 40%, #f5f5f7 0 8%, transparent 9%),
        radial-gradient(circle at 62% 55%, #0a84ff 0 12%, transparent 13%),
        linear-gradient(160deg, #2c2c2e, #1c1c1e 55%, #3a3a3c);
    transform-origin: center center;
    transition: filter 0.2s ease;
}

.ios-mag-freeze-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    margin: 0;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255, 69, 58, 0.9);
    color: #fff;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.ios-mag-freeze-badge[hidden] {
    display: none !important;
}

.ios-mag-chrome,
.ios-mag-controls,
.ios-mag-zoom,
.ios-mag-filters,
.ios-mag-actions {
    position: relative;
    z-index: 2;
    flex: 0 0 auto;
}

.ios-mag-filter--none {
    filter: none;
}

.ios-mag-filter--mono {
    filter: grayscale(1) contrast(1.15);
}

.ios-mag-filter--invert {
    filter: invert(1) hue-rotate(180deg);
}

.ios-mag-filter--amber {
    filter: sepia(0.85) saturate(1.4) hue-rotate(-10deg);
}

.ios-mag-filter--red {
    filter: hue-rotate(-20deg) saturate(1.6) contrast(1.2);
}

.ios-mag-filter--blue {
    filter: hue-rotate(160deg) saturate(1.35) contrast(1.1);
}

.ios-mag-chrome {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px 0;
}

.ios-mag-chrome-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-mag-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-mag-title {
    margin: 0;
    font-size: 1em;
    font-weight: 700;
}

.ios-mag-chrome button,
.ios-mag-filters button,
.ios-mag-actions button {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

#ios-mag-torch.is-on,
#ios-mag-freeze.is-on {
    background: rgba(255, 214, 10, 0.45);
    color: #1c1c1e;
}

.ios-mag-controls {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ios-mag-zoom {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    font-size: 0.85em;
    font-weight: 600;
}

.ios-mag-zoom input {
    flex: 1 1 auto;
}

.ios-mag-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 4px 12px 8px;
}

.ios-mag-filters button.is-active {
    background: rgba(10, 132, 255, 0.45);
}

.ios-mag-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    padding: 0 12px 8px;
}

.ios-mag-hint {
    margin: 0 16px 14px;
    font-size: 0.78em;
    font-weight: 500;
    color: rgba(245, 245, 247, 0.65);
    text-align: center;
}

#ios-magnifier.ios-magnifier--tablet .ios-mag-controls {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr;
    gap: 4px 12px;
    padding: 0 20px;
}

#ios-magnifier.ios-magnifier--tablet .ios-mag-filters,
#ios-magnifier.ios-magnifier--tablet .ios-mag-actions {
    padding-left: 20px;
    padding-right: 20px;
}

#ios-magnifier.ios-magnifier--tablet .ios-mag-stage {
    margin: 10px 24px;
}

#ios-magnifier.is-frozen .ios-mag-view {
    animation: none;
}

html.ios-mag-torch #ios-magnifier {
    box-shadow: inset 0 0 80px rgba(255, 214, 10, 0.35);
}

html.ios-magnifier-on #ios-assistive-touch,
html.ios-magnifier-on #ios-keyboard,
html.ios-magnifier-on #ios-sys {
    display: none !important;
}

/* Guided Access */
#ios-guided {
    position: absolute;
    top: 8px;
    left: 50%;
    z-index: 84;
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 6px 10px 6px 14px;
    border-radius: 999px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    transform: translateX(-50%);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

#ios-guided[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-guided {
    position: fixed;
}

.ios-guided-label {
    margin: 0;
    font-size: 0.72em;
    font-weight: 700;
    color: #30d158;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ios-guided-app {
    margin: 0;
    font-size: 0.82em;
    font-weight: 600;
}

.ios-guided-opts {
    margin: 0;
    font-size: 0.68em;
    opacity: 0.65;
    max-width: 160px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html.ios-form-tablet .ios-guided--tablet,
.ios-guided--tablet {
    gap: 12px;
    padding-right: 12px;
}

#ios-guided-end {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 69, 58, 0.35);
    color: #ffd7d4;
    font: inherit;
    font-size: 0.78em;
    font-weight: 700;
    cursor: pointer;
}

#ios-guided-sheet {
    position: absolute;
    inset: 0;
    z-index: 85;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.45);
}

#ios-guided-sheet[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-guided-sheet {
    position: fixed;
}

.ios-guided-panel {
    width: min(340px, 92%);
    padding: 22px 16px 16px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.97);
    color: #f5f5f7;
    text-align: center;
    box-sizing: border-box;
}

.ios-guided-panel-title {
    margin: 0 0 6px;
    font-size: 1.1em;
    font-weight: 700;
}

.ios-guided-panel-lead {
    margin: 0 0 16px;
    font-size: 0.85em;
    color: rgba(245, 245, 247, 0.65);
}

.ios-guided-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 0 0 18px;
}

.ios-guided-dots i {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.35);
}

.ios-guided-dots i.on {
    background: #fff;
}

.ios-ga-pad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 0 0 14px;
}

.ios-ga-key {
    margin: 0;
    min-height: 44px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 1.05em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ga-key--empty {
    visibility: hidden;
}

#ios-guided-options {
    position: absolute;
    inset: 0;
    z-index: 85;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ios-guided-options[hidden] {
    display: none !important;
}

.ios-guided-options-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.ios-guided-panel--options {
    position: relative;
    z-index: 1;
    text-align: left;
}

html.ios-form-tablet .ios-guided-panel--options,
.ios-guided-options--tablet .ios-guided-panel--options {
    width: min(420px, 92%);
}

.ios-ga-opt-list {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.ios-ga-opt-list label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ga-opt-list input {
    width: 40px;
    height: 24px;
    accent-color: #30d158;
}

.ios-ga-primary,
#ios-guided-confirm,
#ios-guided-cancel,
#ios-ga-start,
#ios-guided-options [data-ga-opt-close] {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ga-primary,
#ios-guided-confirm,
#ios-ga-start {
    background: #ff3b30;
}

#ios-guided-sheet.is-shake .ios-guided-panel {
    animation: ios-ls-shake 0.4s ease;
}

html.ios-guided-on #ios-sys,
html.ios-guided-on #ios-app-switcher,
html.ios-guided-on #ios-assistive-touch {
    display: none !important;
}

/* Back Tap */
#ios-back-tap {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-back-tap[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-back-tap {
    position: fixed;
}

html.ios-form-tablet #ios-back-tap {
    align-items: center;
}

.ios-bt-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-bt-panel {
    position: relative;
    z-index: 1;
    width: min(380px, 94%);
    margin: 0 0 22px;
    padding: 18px 14px 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.97);
    color: #f5f5f7;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-bt-panel {
    margin: 0;
}

.ios-back-tap--tablet .ios-bt-panel {
    width: min(440px, 88%);
}

.ios-bt-head {
    margin: 0 0 6px;
    text-align: center;
}

.ios-bt-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-bt-title {
    margin: 2px 0 0;
    font-size: 1.1em;
    font-weight: 700;
    text-align: center;
}

.ios-bt-lead {
    margin: 0 0 14px;
    font-size: 0.8em;
    color: rgba(245, 245, 247, 0.6);
    text-align: center;
}

.ios-bt-switch {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 12px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.95em;
    font-weight: 600;
}

#ios-bt-enabled {
    margin: 0;
    padding: 6px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 700;
    cursor: pointer;
}

#ios-bt-enabled.is-on {
    background: rgba(48, 209, 88, 0.4);
}

.ios-bt-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
    font-size: 0.9em;
    font-weight: 600;
}

.ios-bt-row select {
    min-width: 160px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
}

.ios-bt-hint {
    margin: 0 0 12px;
    font-size: 0.75em;
    color: rgba(245, 245, 247, 0.5);
    text-align: center;
}

.ios-bt-panel > button {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-bt-done {
    background: rgba(10, 132, 255, 0.35) !important;
}

.ios-bt-toast {
    position: absolute;
    left: 50%;
    bottom: 36px;
    z-index: 79;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-bt-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-bt-toast {
    position: fixed;
}

/* Siri */
#ios-siri {
    position: absolute;
    inset: 0;
    z-index: 86;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-siri[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-siri {
    position: fixed;
}

html.ios-form-tablet #ios-siri {
    align-items: center;
}

.ios-siri-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}

.ios-siri-panel {
    position: relative;
    z-index: 1;
    width: min(420px, 94%);
    margin: 0 0 24px;
    padding: 22px 16px 14px;
    border-radius: 22px;
    background: rgba(28, 28, 30, 0.96);
    color: #f5f5f7;
    text-align: center;
    box-sizing: border-box;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

html.ios-form-tablet .ios-siri-panel,
.ios-siri--tablet .ios-siri-panel {
    width: min(520px, 92%);
    margin: 0;
    text-align: left;
}

.ios-siri-kicker {
    margin: 0 0 8px;
    text-align: center;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-siri-type {
    display: none;
    align-items: stretch;
    gap: 8px;
    margin: 0 0 12px;
}

html.ios-form-tablet .ios-siri-type,
.ios-siri--tablet .ios-siri-type {
    display: flex;
}

.ios-siri-type-field {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    gap: 4px;
    min-width: 0;
    text-align: left;
}

.ios-siri-type-lbl {
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-siri-type-field input {
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    box-sizing: border-box;
}

.ios-siri-type-go {
    align-self: flex-end;
    margin: 0;
    padding: 10px 16px;
    border: 0;
    border-radius: 12px;
    background: #0a84ff;
    color: #fff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

html.ios-form-tablet .ios-siri-suggestions,
.ios-siri--tablet .ios-siri-suggestions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}

html.ios-form-tablet .ios-siri-orb,
.ios-siri--tablet .ios-siri-orb {
    margin-left: auto;
    margin-right: auto;
}

html.ios-form-tablet .ios-siri-prompt,
html.ios-form-tablet .ios-siri-reply,
.ios-siri--tablet .ios-siri-prompt,
.ios-siri--tablet .ios-siri-reply {
    text-align: center;
}

.ios-siri-orb {
    width: 72px;
    height: 72px;
    margin: 0 auto 14px;
    border-radius: 50%;
    background:
        conic-gradient(from 180deg, #ff375f, #bf5af2, #0a84ff, #64d2ff, #30d158, #ffd60a, #ff375f);
    box-shadow: 0 0 28px rgba(191, 90, 242, 0.45);
    animation: ios-siri-idle 3.2s ease-in-out infinite;
}

.ios-siri-orb.is-listening {
    animation: ios-siri-listen 0.9s ease-in-out infinite;
}

@keyframes ios-siri-idle {
    0%, 100% { transform: scale(1); filter: saturate(1); }
    50% { transform: scale(1.04); filter: saturate(1.15); }
}

@keyframes ios-siri-listen {
    0%, 100% { transform: scale(0.96); }
    50% { transform: scale(1.1); }
}

.ios-siri-prompt {
    margin: 0 0 8px;
    font-size: 1.15em;
    font-weight: 600;
}

.ios-siri-reply {
    margin: 0 0 14px;
    font-size: 0.95em;
    color: rgba(245, 245, 247, 0.75);
}

.ios-siri-suggestions {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 0 12px;
}

.ios-siri-chip {
    width: 100%;
    margin: 0;
    padding: 11px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.ios-siri-dismiss {
    width: 100%;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

/* Gesture coach (tablet pedagogy) */
#ios-gesture-coach {
    position: absolute;
    inset: 0;
    z-index: 70;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 16px;
    box-sizing: border-box;
    background: transparent;
}

#ios-gesture-coach[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-gesture-coach {
    position: fixed;
}

.ios-gc-scrim {
    position: absolute;
    inset: 0;
    z-index: 0;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(0, 0, 0, 0.32);
    cursor: pointer;
}

.ios-gc-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(420px, 92%);
    max-height: min(72vh, 560px);
    padding: 0;
    border-radius: 18px;
    background: rgba(28, 28, 30, 0.96);
    color: #f5f5f7;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
    overflow: hidden;
}

.ios-gc-head {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0;
    padding: 14px 16px 8px;
}

.ios-gc-title {
    margin: 0;
    font-size: 1.15em;
    font-weight: 700;
}

#ios-gc-close {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(10, 132, 255, 0.18);
    color: #0a84ff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 700;
    cursor: pointer;
    font-weight: 600;
    cursor: pointer;
}

.ios-gc-lead {
    flex: 0 0 auto;
    margin: 0;
    padding: 0 16px 10px;
    font-size: 0.85em;
    color: rgba(245, 245, 247, 0.65);
}

.ios-gc-list {
    list-style: none;
    flex: 1 1 auto;
    margin: 0;
    padding: 0 16px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

.ios-gc-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.9em;
}

.ios-gc-list kbd {
    display: inline-block;
    min-width: 88px;
    padding: 4px 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.1);
    font: inherit;
    font-size: 0.82em;
    font-weight: 700;
    text-align: center;
}

.ios-gc-foot {
    flex: 0 0 auto;
    margin: 0;
    padding: 10px 16px 14px;
    font-size: 0.75em;
    color: rgba(245, 245, 247, 0.5);
    text-align: center;
}

/* System HUDs — Volume / Brightness / Silent */
#ios-hud {
    position: absolute;
    top: 22%;
    left: 50%;
    z-index: 88;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 84px;
    padding: 14px 12px 12px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.88);
    color: #f5f5f7;
    transform: translateX(-50%);
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.35);
    pointer-events: none;
}

#ios-hud[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-hud {
    position: fixed;
}

#ios-hud.ios-hud--tablet {
    width: 110px;
    padding: 16px 14px 14px;
}

.ios-hud-kicker {
    margin: 0;
    font-size: 0.58em;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.5);
}

.ios-hud-icon {
    font-size: 0.78em;
    font-weight: 700;
    line-height: 1.1;
    text-align: center;
}

.ios-hud-track {
    position: relative;
    width: 10px;
    height: 120px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    overflow: hidden;
}

#ios-hud.ios-hud--tablet .ios-hud-track {
    height: 140px;
    width: 12px;
}

.ios-hud-track i {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0;
    width: auto;
    background: #f5f5f7;
    border-radius: 999px;
}

.ios-hud--brightness .ios-hud-track i {
    background: #ffd60a;
}

.ios-hud--silent .ios-hud-track {
    height: 8px;
    width: 48px;
}

.ios-hud--silent .ios-hud-track i {
    left: 0;
    top: 0;
    bottom: 0;
    height: 100%;
    width: 0;
    background: #30d158;
}

.ios-hud-label {
    margin: 0;
    font-size: 0.68em;
    font-weight: 600;
    text-align: center;
}

.ios-hud-value {
    margin: 0;
    font-size: 0.72em;
    font-weight: 700;
    color: rgba(245, 245, 247, 0.75);
    text-align: center;
}

html.ios-silent-on #iosheader #statusright::before {
    content: 'Silent · ';
    color: #ff9f0a;
    font-size: 0.85em;
}

/* Control Center Now Playing */
.ios-cc-media {
    margin: 0 0 10px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
}

.ios-cc-media-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin: 0 0 8px;
}

.ios-cc-media-meta strong {
    font-size: 0.95em;
    font-weight: 700;
}

.ios-cc-media-meta span {
    font-size: 0.78em;
    color: rgba(245, 245, 247, 0.65);
}

.ios-cc-media-progress {
    height: 4px;
    margin: 0 0 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.15);
    overflow: hidden;
}

.ios-cc-media-progress i {
    display: block;
    height: 100%;
    background: #f5f5f7;
}

.ios-cc-media-controls {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

.ios-cc-media-controls button {
    flex: 1 1 0;
    margin: 0;
    padding: 8px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.8em;
    font-weight: 600;
    cursor: pointer;
}

.ios-cc-pill[data-cc-toggle="silent"].is-on {
    background: rgba(255, 159, 10, 0.45);
}

/* Battery status + Low Power banner */
.ios-batt-pct {
    margin: 0 4px 0 0;
    font-size: 0.78em;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.ios-batt-pct.is-lowpower,
.ios-batt-pct.is-critical {
    color: #ffd60a;
}

.ios-batt-pct.is-critical:not(.is-lowpower) {
    color: #ff453a;
}

.ios-batt-pct.is-charging::after {
    content: ' ▮';
    color: #30d158;
    font-size: 0.85em;
}

html.ios-battery-charging #statusright .sb-batt {
    color: #30d158;
}

#ios-battery-banner {
    position: absolute;
    top: 42px;
    left: 50%;
    z-index: 71;
    width: min(340px, 92%);
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(44, 44, 46, 0.96);
    color: #f5f5f7;
    transform: translateX(-50%);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
    box-sizing: border-box;
}

#ios-battery-banner[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-battery-banner {
    position: fixed;
}

.ios-batt-banner-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-batt-banner-title {
    margin: 2px 0 4px;
    font-size: 0.9em;
    font-weight: 700;
    color: #ffd60a;
}

.ios-batt-banner-actions {
    display: flex;
    gap: 8px;
    margin-top: 10px;
}

#ios-batt-banner-settings,
#ios-batt-banner-off {
    flex: 1 1 0;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

#ios-batt-banner-off {
    background: rgba(255, 214, 10, 0.35);
    color: #1c1c1e;
}

#ios-battery-banner.ios-battery-banner--tablet {
    width: min(420px, 70%);
}

#ios-battery-sheet {
    position: absolute;
    inset: 0;
    z-index: 72;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-battery-sheet[hidden] {
    display: none !important;
}

html.ios-form-tablet #ios-battery-sheet {
    align-items: center;
}

.ios-batt-sheet-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-batt-sheet-panel {
    position: relative;
    z-index: 1;
    width: min(420px, 94%);
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-radius: 18px 18px 0 0;
    background: rgba(245, 245, 247, 0.97);
    color: #1c1c1e;
    overflow: auto;
}

html.ios-form-tablet .ios-batt-sheet-panel {
    margin: 0;
    border-radius: 18px;
}

.ios-battery-sheet--tablet .ios-batt-sheet-panel {
    width: min(480px, 88%);
}

.ios-batt-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-batt-sheet-kicker {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ios-batt-sheet-head p {
    margin: 0;
    font-weight: 700;
}

.ios-batt-sheet-head button {
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-batt-sheet-hero {
    padding: 18px 14px 8px;
    text-align: center;
}

.ios-batt-sheet-level {
    margin: 0;
    font-size: 2.4em;
    font-weight: 700;
    line-height: 1;
}

.ios-batt-sheet-state {
    margin: 6px 0 0;
    font-size: 0.85em;
    color: #8e8e93;
}

.ios-batt-sheet-rows {
    list-style: none;
    margin: 8px 14px;
    padding: 0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.ios-batt-sheet-rows li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.1);
    font-weight: 600;
}

.ios-batt-sheet-rows li:last-child {
    border-bottom: 0;
}

.ios-batt-sheet-rows button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-batt-sheet-rows button.is-on {
    color: #007aff;
}

.ios-batt-sheet-hint {
    margin: 10px 18px 0;
    font-size: 0.75em;
    color: #8e8e93;
    text-align: center;
}

.ios-batt-sheet-actions {
    display: flex;
    gap: 8px;
    margin: 14px 14px 0;
}

.ios-batt-sheet-actions button {
    flex: 1 1 0;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-batt-banner-lead {
    margin: 0 0 10px;
    font-size: 0.8em;
    color: rgba(245, 245, 247, 0.7);
}

.ios-cc-extra.is-on[data-cc-extra="lowpower"] {
    background: rgba(255, 214, 10, 0.35);
}

/* App open / close zoom (springboard pedagogy) */
body.ios-springboard #ios-app.is-opening {
    animation: ios-app-open 0.32s cubic-bezier(0.2, 0.8, 0.2, 1);
}

body.ios-springboard #ios-app.is-closing {
    animation: ios-app-close 0.22s ease forwards;
}

@keyframes ios-app-open {
    from {
        opacity: 0.35;
        transform: scale(0.88);
    }
    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes ios-app-close {
    from {
        opacity: 1;
        transform: scale(1);
    }
    to {
        opacity: 0;
        transform: scale(0.9);
    }
}

/* Clock / Timer */
#ios-timer {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
}

#ios-timer[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-timer {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
    max-width: 100vw;
    max-height: 100vh;
}

html.ios-form-tablet #ios-timer {
    align-items: stretch;
    justify-content: stretch;
}

.ios-timer-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

html.ios-form-tablet .ios-timer-scrim {
    background: rgba(0, 0, 0, 0.55);
}

.ios-timer-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(400px, 94vw);
    min-width: 280px;
    min-height: 420px;
    max-height: min(720px, 92vh);
    margin: 0 0 22px;
    padding: 14px 14px 10px;
    border-radius: 20px;
    background: rgba(28, 28, 30, 0.97);
    color: #f5f5f7;
    box-sizing: border-box;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

html.ios-form-tablet .ios-timer-panel {
    width: min(920px, 94%);
    max-height: min(760px, 92%);
    margin: auto;
    padding: 16px 16px 14px;
}

.ios-tm-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 10px;
    flex: 0 0 auto;
}

.ios-tm-title {
    margin: 0;
    font-size: 1.05em;
    font-weight: 700;
}

.ios-tm-head button {
    min-width: 56px;
    margin: 0;
    padding: 6px 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-tm-head button[hidden] {
    visibility: hidden;
}

.ios-tm-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    gap: 0;
}

.ios-tm-side {
    display: none;
}

html.ios-form-tablet .ios-tm-side {
    display: flex;
    flex-direction: column;
    flex: 0 0 168px;
    gap: 4px;
    margin: 0 14px 0 0;
    padding: 4px 0 0;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}

.ios-tm-side button {
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: rgba(245, 245, 247, 0.72);
    font: inherit;
    font-size: 0.88em;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.ios-tm-side button.is-active {
    background: rgba(10, 132, 255, 0.28);
    color: #f5f5f7;
}

.ios-tm-main {
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
}

.ios-tm-tabs {
    display: flex;
    gap: 4px;
    margin: 10px 0 0;
    flex: 0 0 auto;
}

html.ios-form-tablet .ios-tm-tabs {
    display: none;
}

.ios-tm-tabs button {
    flex: 1 1 0;
    margin: 0;
    padding: 8px 4px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.68em;
    font-weight: 600;
    cursor: pointer;
}

.ios-tm-tabs button.is-active {
    background: rgba(10, 132, 255, 0.4);
}

.ios-tm-pane-title {
    margin: 0 0 10px;
    font-size: 1.35em;
    font-weight: 700;
}

.ios-tm-pane-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 6px;
}

.ios-tm-pane-bar .ios-tm-pane-title {
    margin: 0;
}

#ios-tm-alarm-add {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(10, 132, 255, 0.22);
    color: #0a84ff;
    font: inherit;
    font-size: 1.25em;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
}

.ios-tm-display {
    margin: 8px 0 16px;
    font-size: 3.2em;
    font-weight: 200;
    letter-spacing: 0.02em;
    text-align: center;
    font-variant-numeric: tabular-nums;
}

.ios-tm-ring-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 4px auto 10px;
    width: 168px;
    height: 168px;
}

html.ios-form-tablet .ios-tm-ring-wrap {
    width: 200px;
    height: 200px;
}

.ios-tm-ring {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

.ios-tm-ring-bg,
.ios-tm-ring-fg {
    fill: none;
    stroke-width: 6;
}

.ios-tm-ring-bg {
    stroke: rgba(255, 255, 255, 0.1);
}

.ios-tm-ring-fg {
    stroke: #ff9f0a;
    stroke-linecap: round;
    transition: stroke-dashoffset 0.35s linear;
}

.ios-tm-display--ring {
    position: relative;
    z-index: 1;
    margin: 0;
    font-size: 2.4em;
}

html.ios-form-tablet .ios-tm-display--ring {
    font-size: 2.8em;
}

.ios-tm-adjust {
    display: flex;
    justify-content: center;
    gap: 18px;
    margin: 0 0 12px;
}

.ios-tm-adjust button {
    width: 44px;
    height: 44px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 1.35em;
    font-weight: 400;
    cursor: pointer;
}

.ios-tm-presets {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 12px;
}

.ios-tm-ends {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0 0 14px;
    padding: 12px 14px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.92em;
    font-weight: 500;
    cursor: pointer;
}

.ios-tm-ends em {
    font-style: normal;
    color: rgba(245, 245, 247, 0.55);
}

.ios-tm-presets button,
.ios-tm-actions button,
.ios-tm-alarm > button,
#ios-tm-alert-stop {
    margin: 0;
    padding: 10px 14px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-tm-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}

.ios-tm-actions .ios-tm-primary {
    background: #30d158;
    color: #06210c;
}

.ios-tm-actions .ios-tm-primary--pause,
.ios-tm-actions .ios-tm-primary--stop {
    background: #ff9f0a;
    color: #1c1200;
}

.ios-tm-link {
    display: block;
    width: 100%;
    margin: 10px 0 0;
    padding: 6px;
    border: 0;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-tm-world,
.ios-tm-alarms,
.ios-tm-laps {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ios-tm-city,
.ios-tm-alarm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ios-tm-city strong,
.ios-tm-alarm strong {
    display: block;
    font-size: 1.25em;
    font-weight: 400;
}

.ios-tm-alarm strong {
    font-size: 1.55em;
    font-weight: 300;
}

.ios-tm-city span,
.ios-tm-alarm span {
    font-size: 0.8em;
    color: rgba(245, 245, 247, 0.6);
}

.ios-tm-city em {
    font-style: normal;
    font-size: 1.55em;
    font-weight: 300;
    font-variant-numeric: tabular-nums;
}

html.ios-form-tablet .ios-tm-world {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 18px;
}

.ios-tm-alarm.is-on > button[data-tm-alarm] {
    background: rgba(48, 209, 88, 0.35);
    color: #30d158;
}

.ios-tm-alarm-del {
    width: 28px;
    height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ff3b30;
    color: #fff;
    font: inherit;
    font-size: 1.2em;
    line-height: 1;
    cursor: pointer;
    flex: 0 0 auto;
}

.ios-tm-laps {
    margin: 12px 0 0;
    max-height: 160px;
    overflow: auto;
}

.ios-tm-laps[hidden] {
    display: none !important;
}

.ios-tm-laps li {
    display: flex;
    justify-content: space-between;
    padding: 8px 2px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-variant-numeric: tabular-nums;
    color: rgba(245, 245, 247, 0.75);
}

.ios-tm-laps em {
    font-style: normal;
    color: #f5f5f7;
}

.ios-tm-alert {
    position: absolute;
    left: 50%;
    top: 28%;
    z-index: 2;
    width: min(300px, 88%);
    padding: 22px 16px 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.98);
    color: #f5f5f7;
    text-align: center;
    transform: translateX(-50%);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

.ios-tm-alert[hidden] {
    display: none !important;
}

.ios-tm-alert-title {
    margin: 0 0 4px;
    font-size: 1.1em;
    font-weight: 700;
}

.ios-tm-alert-lead {
    margin: 0 0 14px;
    color: rgba(245, 245, 247, 0.7);
}

#ios-tm-alert-stop {
    width: 100%;
    background: #ff3b30;
}

html.ios-timer-ringing body.ios-springboard {
    animation: ios-tm-pulse 0.7s ease infinite;
}

@keyframes ios-tm-pulse {
    0%, 100% { filter: brightness(1); }
    50% { filter: brightness(1.08); }
}

/* Calculator */
#ios-calculator {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-calculator[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-calculator {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
}

html.ios-form-tablet #ios-calculator {
    align-items: center;
}

.ios-calc-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-calc-panel {
    position: relative;
    z-index: 1;
    width: min(360px, 94vw);
    min-width: 280px;
    margin: 0 0 22px;
    padding: 12px 12px 16px;
    border-radius: 20px;
    background: #000;
    color: #f5f5f7;
    box-sizing: border-box;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

html.ios-form-tablet .ios-calc-panel {
    width: min(760px, 92%);
    margin: 0;
    padding: 14px 16px 18px;
}

.ios-calc-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 8px;
}

.ios-calc-title {
    margin: 0;
    font-size: 1em;
    font-weight: 700;
}

.ios-calc-head button {
    margin: 0;
    padding: 6px 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

#ios-calc-mode[hidden] {
    visibility: hidden;
}

.ios-calc-display {
    margin: 0 8px 12px;
    min-height: 1.2em;
    font-size: 3em;
    font-weight: 200;
    text-align: right;
    font-variant-numeric: tabular-nums;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html.ios-form-tablet .ios-calc-display {
    font-size: 3.4em;
}

.ios-calc-history {
    list-style: none;
    margin: 0 8px 10px;
    padding: 0;
    max-height: 72px;
    overflow: auto;
}

.ios-calc-history[hidden] {
    display: none !important;
}

.ios-calc-history li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 3px 0;
    color: rgba(245, 245, 247, 0.45);
    font-size: 0.85em;
    font-variant-numeric: tabular-nums;
}

.ios-calc-history em {
    font-style: normal;
    color: rgba(245, 245, 247, 0.7);
}

.ios-calc-body {
    display: flex;
    gap: 10px;
    align-items: stretch;
}

.ios-calc-sci {
    display: none;
    flex: 1.15 1 0;
    flex-direction: column;
    gap: 8px;
}

html.ios-form-tablet .ios-calc-sci {
    display: flex;
}

.ios-calc-pad {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    gap: 8px;
}

.ios-calc-row {
    display: flex;
    gap: 8px;
}

.ios-calc-key {
    flex: 1 1 0;
    height: 64px;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: #333;
    color: #f5f5f7;
    font: inherit;
    font-size: 1.4em;
    font-weight: 400;
    cursor: pointer;
}

.ios-calc-key--fn {
    background: #a5a5a5;
    color: #000;
}

.ios-calc-key--op {
    background: #ff9f0a;
    color: #fff;
}

.ios-calc-key--sci {
    background: #1c1c1e;
    color: #f5f5f7;
    font-size: 0.95em;
    border-radius: 18px;
}

.ios-calc-key--zero {
    flex: 2.15 1 0;
    border-radius: 32px;
    text-align: left;
    padding-left: 28px;
}

.ios-calc-hint {
    display: none;
    margin: 10px 8px 0;
    color: rgba(245, 245, 247, 0.45);
    font-size: 0.78em;
    text-align: right;
}

html.ios-form-tablet .ios-calc-hint {
    display: block;
}

html.ios-form-tablet .ios-calc-key {
    height: 64px;
}

html.ios-form-tablet .ios-calc-key--sci {
    height: 52px;
}

/* Notes — Support Use Notes + folders ; tablette = 3 colonnes (HIG NavigationSplitView) */
#ios-notes {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-notes[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-notes {
    position: fixed;
}

html.ios-form-tablet #ios-notes {
    align-items: center;
}

.ios-notes-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-notes-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(420px, 94%);
    height: min(560px, 78vh);
    margin: 0 0 22px;
    border-radius: 18px;
    background: #fff;
    color: #1c1c1e;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
    box-sizing: border-box;
}

html.ios-form-tablet .ios-notes-panel,
#ios-notes.ios-notes--tablet .ios-notes-panel {
    width: min(980px, 92%);
    height: min(620px, 78vh);
    margin: 0;
}

.ios-notes-folders {
    display: none;
    flex-direction: column;
    flex: 0 0 220px;
    width: 220px;
    min-height: 0;
    background: #f2f2f7;
    border-right: 0.5px solid rgba(60, 60, 67, 0.18);
}

#ios-notes.ios-notes--tablet .ios-notes-folders {
    display: flex;
}

.ios-notes-list-pane,
.ios-notes-edit-pane {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    min-height: 0;
}

#ios-notes.ios-notes--tablet .ios-notes-list-pane {
    flex: 0 0 260px;
    width: 260px;
    border-right: 0.5px solid rgba(60, 60, 67, 0.12);
}

#ios-notes.ios-notes--tablet .ios-notes-edit-pane {
    flex: 1 1 auto;
    display: flex !important;
}

.ios-notes-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    background: rgba(242, 242, 247, 0.96);
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-notes-title {
    margin: 0;
    font-size: 1em;
    font-weight: 700;
}

.ios-notes-head-spacer {
    display: inline-block;
    width: 52px;
}

.ios-notes-head button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

#ios-notes.ios-notes--tablet .ios-notes-phone-only {
    visibility: hidden;
    pointer-events: none;
}

.ios-notes-search-wrap {
    display: block;
    margin: 10px 12px 8px;
}

.ios-notes-search {
    display: block;
    width: 100%;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: #e5e5ea;
    color: #1c1c1e;
    font: inherit;
    font-size: 0.92em;
    box-sizing: border-box;
}

.ios-notes-search::placeholder {
    color: #8e8e93;
}

.ios-notes-side-heading {
    margin: 10px 14px 4px;
    color: #8e8e93;
    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-notes-side-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 8px 8px;
}

.ios-notes-folder-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    font-size: 0.95em;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}

.ios-notes-folder-item.is-on {
    background: #ffcc00;
    color: #1c1c1e;
}

.ios-notes-folder-count {
    color: inherit;
    opacity: 0.7;
    font-size: 0.9em;
}

.ios-notes-list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    flex: 1 1 auto;
}

.ios-notes-empty {
    padding: 28px 14px;
    color: #8e8e93;
    text-align: center;
    list-style: none;
}

.ios-notes-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-notes-item.is-selected {
    background: rgba(255, 204, 0, 0.28);
}

.ios-notes-item strong {
    font-size: 1em;
}

.ios-notes-preview {
    font-size: 0.85em;
    color: rgba(60, 60, 67, 0.7);
}

.ios-notes-folder {
    font-size: 0.72em;
    color: rgba(60, 60, 67, 0.45);
}

.ios-notes-title-input {
    width: 100%;
    margin: 0;
    padding: 14px 14px 4px;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 1.25em;
    font-weight: 700;
    box-sizing: border-box;
}

.ios-notes-body {
    flex: 1 1 auto;
    width: 100%;
    margin: 0;
    padding: 8px 14px 14px;
    border: 0;
    resize: none;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: 1em;
    line-height: 1.45;
    box-sizing: border-box;
}

.ios-notes-title-input:focus,
.ios-notes-body:focus {
    outline: none;
}

.ios-notes-foot {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 14px 14px;
    border-top: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-notes-foot button {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(0, 122, 255, 0.1);
    color: #007aff;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-notes-head-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ios-notes-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 8px 12px;
    border-bottom: 0.5px solid rgba(60, 60, 67, 0.12);
    background: #fafafa;
}

.ios-notes-toolbar button {
    border: 0;
    border-radius: 8px;
    padding: 6px 10px;
    background: #e5e5ea;
    color: #007aff;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}

.ios-notes-meta {
    margin: 0;
    padding: 6px 16px 10px;
    color: #8e8e93;
    font-size: 0.78em;
}

.ios-notes-section {
    list-style: none;
    margin: 10px 12px 4px;
    color: #8e8e93;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-notes-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 1px 5px;
    border-radius: 4px;
    background: #e5e5ea;
    color: #8e8e93;
    font-size: 0.62em;
    font-weight: 700;
    vertical-align: middle;
}

.ios-notes-badge--tag {
    background: rgba(0, 122, 255, 0.12);
    color: #007aff;
}

.ios-notes-list--gallery {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 10px;
    list-style: none;
}

.ios-notes-list--gallery .ios-notes-section {
    grid-column: 1 / -1;
    margin: 4px 2px;
}

.ios-notes-list--gallery .ios-notes-item {
    min-height: 96px;
    border-radius: 12px;
    background: #f2f2f7;
    border-bottom: 0;
    align-items: flex-start;
}

.ios-notes-list--gallery .ios-notes-item strong {
    display: block;
    margin-bottom: 6px;
}

.ios-notes-empty-side {
    margin: 0;
    padding: 8px 12px;
    color: #8e8e93;
    font-size: 0.85em;
}

.ios-notes-toast {
    position: fixed;
    left: 50%;
    bottom: 28px;
    z-index: 90;
    transform: translateX(-50%);
    margin: 0;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(28, 28, 30, 0.92);
    color: #f5f5f7;
    font-size: 0.88em;
    font-weight: 600;
}

.ios-notes-toast[hidden] {
    display: none !important;
}

#ios-notes-delete {
    background: rgba(255, 59, 48, 0.12);
    color: #ff3b30;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Téléphone : dossiers en plein panneau (pile), pas de 3 colonnes */
#ios-notes:not(.ios-notes--tablet) .ios-notes-folders {
    display: flex;
    flex: 1 1 auto;
    width: 100%;
    border-right: 0;
}

#ios-notes:not(.ios-notes--tablet) .ios-notes-folders[hidden],
#ios-notes:not(.ios-notes--tablet) .ios-notes-list-pane[hidden],
#ios-notes:not(.ios-notes--tablet) .ios-notes-edit-pane[hidden] {
    display: none !important;
}

/* QR Scanner */
#ios-qr {
    position: absolute;
    inset: 0;
    z-index: 78;
    display: flex;
    flex-direction: column;
    background: #000;
    color: #f5f5f7;
}

#ios-qr[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-qr {
    position: fixed;
}

.ios-qr-viewfinder {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 40% 45%, rgba(255, 255, 255, 0.08), transparent 40%),
        linear-gradient(160deg, #1c1c1e, #000 55%, #111);
}

.ios-qr-frame {
    position: absolute;
    top: 50%;
    left: 50%;
    width: min(240px, 56vw);
    height: min(240px, 56vw);
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 18px;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.45);
}

.ios-qr-scanline {
    position: absolute;
    top: calc(50% - min(120px, 28vw));
    left: 50%;
    width: min(220px, 52vw);
    height: 2px;
    background: #30d158;
    transform: translateX(-50%);
    opacity: 0;
}

.ios-qr-scanline.is-active {
    opacity: 1;
    animation: ios-qr-scan 1.4s ease-in-out infinite;
}

@keyframes ios-qr-scan {
    0% { transform: translate(-50%, 0); }
    100% { transform: translate(-50%, min(220px, 52vw)); }
}

.ios-qr-chrome {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 14px 0;
}

.ios-qr-chrome-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-qr-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.55);
}

.ios-qr-title {
    margin: 0;
    font-size: 1em;
    font-weight: 700;
}

.ios-qr-chrome button {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

#ios-qr-torch.is-on {
    background: rgba(255, 214, 10, 0.45);
    color: #1c1c1e;
}

.ios-qr-hint {
    position: relative;
    z-index: 1;
    margin: auto 16px 120px;
    text-align: center;
    font-size: 0.95em;
    font-weight: 600;
}

.ios-qr-result {
    position: relative;
    z-index: 1;
    margin: auto 16px 40px;
    padding: 16px;
    border-radius: 16px;
    background: rgba(28, 28, 30, 0.94);
    text-align: center;
}

.ios-qr-result[hidden] {
    display: none !important;
}

.ios-qr-kind {
    margin: 0 0 6px;
    font-size: 0.75em;
    font-weight: 700;
    color: #30d158;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.ios-qr-value {
    margin: 0 0 14px;
    font-size: 0.95em;
    font-weight: 600;
    word-break: break-all;
}

.ios-qr-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ios-qr-actions button {
    flex: 1 1 40%;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

#ios-qr-open {
    background: #0a84ff;
}

#ios-qr.ios-qr--tablet {
    display: grid;
    grid-template-columns: 1fr 210px;
    grid-template-rows: auto 1fr auto;
}

#ios-qr.ios-qr--tablet .ios-qr-viewfinder {
    grid-column: 1;
    grid-row: 1 / -1;
}

#ios-qr.ios-qr--tablet .ios-qr-chrome {
    grid-column: 1;
    grid-row: 1;
}

#ios-qr.ios-qr--tablet .ios-qr-hint,
#ios-qr.ios-qr--tablet .ios-qr-result {
    grid-column: 1;
}

#ios-qr.ios-qr--tablet .ios-qr-rail {
    grid-column: 2;
    grid-row: 1 / -1;
}

.ios-qr-rail {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    padding: 16px 12px;
    background: rgba(0, 0, 0, 0.5);
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    overflow: auto;
}

.ios-qr-rail[hidden] {
    display: none !important;
}

.ios-qr-rail-title {
    margin: 0 0 10px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.55);
}

.ios-qr-rail-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ios-qr-rail-list button {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    padding: 10px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-qr-rail-list strong {
    display: block;
    font-size: 0.82em;
}

.ios-qr-rail-list span {
    display: block;
    margin-top: 2px;
    font-size: 0.7em;
    color: rgba(245, 245, 247, 0.55);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

html.ios-qr-torch #ios-qr {
    box-shadow: inset 0 0 80px rgba(255, 214, 10, 0.28);
}

html.ios-qr-on #ios-assistive-touch,
html.ios-qr-on #ios-sys,
html.ios-notes-on #ios-sys {
    display: none !important;
}

/* Flashlight */
#ios-flashlight {
    position: absolute;
    inset: 0;
    z-index: 76;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    background: #000;
}

#ios-flashlight[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-flashlight {
    position: fixed;
}

.ios-fl-beam {
    position: absolute;
    inset: 0;
    background: #fffdf2;
    pointer-events: none;
}

.ios-fl-chrome {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    width: min(340px, 90%);
    margin: 0 0 40px;
    padding: 18px 16px;
    border-radius: 18px;
    background: rgba(28, 28, 30, 0.72);
    color: #f5f5f7;
    box-sizing: border-box;
}

#ios-flashlight.ios-flashlight--tablet .ios-fl-chrome {
    width: min(420px, 70%);
}

.ios-fl-kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.55);
}

.ios-fl-title {
    margin: 0;
    font-size: 1em;
    font-weight: 700;
}

.ios-fl-level {
    margin: 0;
    font-size: 0.85em;
    color: rgba(245, 245, 247, 0.7);
}

.ios-fl-slider {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    width: 100%;
    font-size: 0.78em;
    font-weight: 600;
    color: rgba(245, 245, 247, 0.7);
}

.ios-fl-slider input {
    width: 100%;
}

.ios-fl-dots {
    display: flex;
    gap: 10px;
}

.ios-fl-dots button {
    width: 14px;
    height: 14px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.25);
    cursor: pointer;
}

.ios-fl-dots button.is-on {
    background: #ffd60a;
}

.ios-fl-hint {
    margin: 0;
    font-size: 0.72em;
    color: rgba(245, 245, 247, 0.5);
    text-align: center;
}

.ios-fl-actions {
    display: flex;
    gap: 8px;
    width: 100%;
}

#ios-fl-sos,
.ios-fl-toggle {
    flex: 1 1 0;
    margin: 6px 0 0;
    padding: 12px 14px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

#ios-fl-sos.is-on {
    background: rgba(255, 69, 58, 0.5);
}

#ios-flashlight.is-sos .ios-fl-beam {
    transition: opacity 0.08s linear;
}

.ios-cc-extra.is-on[data-cc-extra="flashlight"] {
    background: rgba(255, 214, 10, 0.4);
}

html.ios-flashlight-on #ios-assistive-touch,
html.ios-flashlight-on #ios-sys {
    display: none !important;
}

/* Recognize Music */
#ios-shazam {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-shazam[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-shazam {
    position: fixed;
}

html.ios-form-tablet #ios-shazam {
    align-items: center;
}

.ios-sz-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
}

.ios-sz-panel {
    position: relative;
    z-index: 1;
    width: min(380px, 94%);
    margin: 0 0 22px;
    padding: 16px 16px 18px;
    border-radius: 20px;
    background: rgba(28, 28, 30, 0.97);
    color: #f5f5f7;
    text-align: center;
    box-sizing: border-box;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

html.ios-form-tablet .ios-sz-panel {
    margin: 0;
}

.ios-sz-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 16px;
}

.ios-sz-head-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-sz-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #bf5af2;
}

.ios-sz-title {
    margin: 0;
    font-size: 1em;
    font-weight: 700;
}

.ios-sz-head button {
    margin: 0;
    padding: 6px 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

#ios-shazam.ios-shazam--tablet .ios-sz-panel {
    width: min(460px, 88%);
}

.ios-sz-history {
    list-style: none;
    margin: 12px 0 0;
    padding: 0;
    text-align: left;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.ios-sz-history[hidden] {
    display: none !important;
}

.ios-sz-history li {
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ios-sz-history li:last-child {
    border-bottom: 0;
}

.ios-sz-history strong {
    display: block;
    font-size: 0.9em;
}

.ios-sz-history span {
    display: block;
    margin-top: 2px;
    font-size: 0.75em;
    color: rgba(245, 245, 247, 0.55);
}

.ios-sz-history-empty {
    text-align: center;
    color: rgba(245, 245, 247, 0.5);
}

.ios-sz-orb {
    width: 120px;
    height: 120px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 35% 35%, #fff 0 8%, transparent 9%),
        conic-gradient(from 200deg, #bf5af2, #0a84ff, #64d2ff, #bf5af2);
    box-shadow: 0 0 36px rgba(191, 90, 242, 0.45);
}

.ios-sz-orb.is-listening {
    animation: ios-sz-pulse 1s ease-in-out infinite;
}

@keyframes ios-sz-pulse {
    0%, 100% { transform: scale(0.94); }
    50% { transform: scale(1.08); }
}

.ios-sz-status {
    margin: 0 0 8px;
    font-size: 1.05em;
    font-weight: 600;
}

.ios-sz-result[hidden] {
    display: none !important;
}

.ios-sz-track {
    margin: 0 0 4px;
    font-size: 1.35em;
    font-weight: 700;
}

.ios-sz-artist {
    margin: 0 0 2px;
    font-size: 0.95em;
    color: rgba(245, 245, 247, 0.8);
}

.ios-sz-album {
    margin: 0 0 16px;
    font-size: 0.8em;
    color: rgba(245, 245, 247, 0.55);
}

.ios-sz-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ios-sz-actions button {
    flex: 1 1 40%;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

#ios-sz-play {
    background: #0a84ff;
}

/* Appearance */
#ios-appearance {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-appearance[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-appearance {
    position: fixed;
}

html.ios-form-tablet #ios-appearance {
    align-items: center;
}

.ios-appr-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-appr-panel {
    position: relative;
    z-index: 1;
    width: min(400px, 94%);
    margin: 0 0 22px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.97);
    color: #f5f5f7;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-appr-panel {
    margin: 0;
}

.ios-appr-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 8px;
}

.ios-appr-head-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-appr-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-appr-title {
    margin: 0;
    font-size: 1.05em;
    font-weight: 700;
}

.ios-appr-head button {
    margin: 0;
    padding: 6px 8px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-appr-lead {
    margin: 0 0 14px;
    font-size: 0.85em;
    color: rgba(245, 245, 247, 0.65);
    text-align: center;
}

#ios-appearance.ios-appearance--tablet .ios-appr-panel {
    width: min(480px, 88%);
}

.ios-appr-options {
    list-style: none;
    margin: 14px 0 0;
    padding: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.ios-appr-options li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.9em;
    font-weight: 600;
}

.ios-appr-options li:last-child {
    border-bottom: 0;
}

.ios-appr-options button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-appr-options button.is-on {
    color: #0a84ff;
}

.ios-appr-options button.is-disabled {
    opacity: 0.45;
}

.ios-appr-hint {
    margin: 12px 0 0;
    font-size: 0.72em;
    color: rgba(245, 245, 247, 0.5);
    text-align: center;
}

html.ios-bold-text body.ios-springboard {
    font-weight: 600;
}

.ios-appr-choices {
    display: flex;
    gap: 10px;
}

.ios-appr-choice {
    flex: 1 1 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin: 0;
    padding: 12px 8px;
    border: 2px solid transparent;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-appr-choice.is-selected {
    border-color: #0a84ff;
    background: rgba(10, 132, 255, 0.2);
}

.ios-appr-swatch {
    width: 56px;
    height: 72px;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.ios-appr-swatch--light {
    background: linear-gradient(#f2f2f7 40%, #fff 40%);
}

.ios-appr-swatch--dark {
    background: linear-gradient(#1c1c1e 40%, #000 40%);
}

.ios-appr-swatch--auto {
    background: linear-gradient(90deg, #f2f2f7 50%, #1c1c1e 50%);
}

.ios-orient-toast {
    position: absolute;
    left: 50%;
    bottom: 36px;
    z-index: 79;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-orient-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-orient-toast {
    position: fixed;
}

html.ios-orient-locked #statusright .sb-wifi {
    opacity: 0.85;
}

html.ios-orient-locked #iosheader::after {
    content: 'Lock';
    position: absolute;
    right: 72px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.65em;
    font-weight: 700;
    color: #ff9f0a;
}

/* Connectivity — Airplane / Hotspot / Cellular */
.ios-cc-tile.is-dimmed {
    opacity: 0.45;
}

.ios-cc-pill[data-cc-action="hotspot"].is-on {
    background: rgba(48, 209, 88, 0.4);
}

#ios-hotspot,
#ios-cellular-opts,
#ios-wifi-sheet {
    position: absolute;
    inset: 0;
    z-index: 77;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-hotspot[hidden],
#ios-cellular-opts[hidden],
#ios-wifi-sheet[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-hotspot,
html.ios-form-phone body.ios-springboard #ios-cellular-opts,
html.ios-form-phone body.ios-springboard #ios-wifi-sheet {
    position: fixed;
}

html.ios-form-tablet #ios-hotspot,
html.ios-form-tablet #ios-cellular-opts,
html.ios-form-tablet #ios-wifi-sheet {
    align-items: center;
}

.ios-hs-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-hs-panel {
    position: relative;
    z-index: 1;
    width: min(360px, 94%);
    margin: 0 0 22px;
    padding: 18px 14px 14px;
    border-radius: 18px;
    background: rgba(44, 44, 46, 0.97);
    color: #f5f5f7;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-hs-panel {
    margin: 0;
}

#ios-hotspot.ios-hotspot--tablet .ios-hs-panel,
#ios-wifi-sheet.ios-wifi-sheet--tablet .ios-hs-panel,
#ios-cellular-opts.ios-cellular-opts--tablet .ios-hs-panel {
    width: min(440px, 88%);
}

.ios-hs-head {
    margin: 0 0 6px;
    text-align: center;
}

.ios-hs-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-hs-title {
    margin: 2px 0 0;
    font-size: 1.1em;
    font-weight: 700;
    text-align: center;
}

.ios-hs-lead {
    margin: 0 0 14px;
    font-size: 0.85em;
    color: rgba(245, 245, 247, 0.65);
    text-align: center;
}

.ios-hs-hint {
    margin: 0 0 10px;
    font-size: 0.72em;
    color: rgba(245, 245, 247, 0.5);
    text-align: center;
}

.ios-hs-row button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-hs-row button.is-on {
    color: #0a84ff;
}

.ios-wifi-list {
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.08);
    overflow: hidden;
}

.ios-wifi-list button {
    display: block;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-wifi-list li:last-child button {
    border-bottom: 0;
}

.ios-wifi-list button.is-on {
    background: rgba(10, 132, 255, 0.22);
}

.ios-wifi-list strong {
    display: block;
    font-size: 0.9em;
}

.ios-wifi-list span {
    display: block;
    margin-top: 2px;
    font-size: 0.75em;
    color: rgba(245, 245, 247, 0.55);
}

.ios-wifi-empty {
    padding: 14px;
    text-align: center;
    color: rgba(245, 245, 247, 0.5);
    font-size: 0.85em;
}

.ios-hs-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin: 0 0 10px;
    font-size: 0.9em;
    font-weight: 600;
}

.ios-hs-row input {
    min-width: 160px;
    padding: 8px 10px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
}

.ios-hs-panel > button,
.ios-cellular-opts .ios-hs-panel > button {
    display: block;
    width: 100%;
    margin: 0 0 8px;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    cursor: pointer;
}

.ios-hs-primary {
    background: #30d158 !important;
    color: #06210c !important;
}

.ios-hs-primary.is-on {
    background: rgba(255, 69, 58, 0.45) !important;
    color: #ffd7d4 !important;
}

.ios-hs-status {
    margin: 0 0 10px;
    font-size: 0.8em;
    color: rgba(245, 245, 247, 0.6);
    text-align: center;
}

.ios-conn-toast {
    position: absolute;
    left: 50%;
    bottom: 36px;
    z-index: 79;
    pointer-events: none; /* §10.75 : l'annonce ne doit pas avaler le toucher destiné au Dock */
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-conn-toast[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard .ios-conn-toast {
    position: fixed;
}

html.ios-airplane-on #statusright .sb-bars {
    opacity: 0.2;
}

html.ios-airplane-on #iosheader #heure::after {
    content: ' Air';
    font-size: 0.7em;
    font-weight: 700;
    color: #ff9f0a;
}

html.ios-hotspot-on #statusright::before {
    content: 'Link ';
    color: #30d158;
    font-size: 0.75em;
    font-weight: 700;
}

#statusright .sb-bars.is-off i {
    opacity: 0.2;
}

/* Incoming Phone Call */
#ios-phone-call {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 20%, rgba(10, 132, 255, 0.35), transparent 45%),
        linear-gradient(180deg, #1c1c1e, #000);
    color: #f5f5f7;
}

#ios-phone-call[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-phone-call {
    position: fixed;
}

.ios-call-panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(420px, 94%);
    margin: auto;
    padding: 48px 20px 36px;
    box-sizing: border-box;
    text-align: center;
}

.ios-call-kicker {
    margin: 0 0 28px;
    font-size: 0.8em;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: rgba(245, 245, 247, 0.65);
}

.ios-call-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    margin: 0 0 18px;
    border-radius: 50%;
    background: linear-gradient(145deg, #0a84ff, #64d2ff);
    font-size: 1.6em;
    font-weight: 700;
}

.ios-call-name {
    margin: 0 0 4px;
    font-size: 2em;
    font-weight: 600;
}

.ios-call-detail {
    margin: 0 0 36px;
    font-size: 1em;
    color: rgba(245, 245, 247, 0.65);
}

.ios-call-secondary {
    display: flex;
    gap: 28px;
    margin: 0 0 48px;
}

.ios-call-secondary[hidden],
.ios-call-primary[hidden],
.ios-call-incall[hidden] {
    display: none !important;
}

.ios-call-secondary button {
    margin: 0;
    padding: 10px 14px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-call-incall {
    display: grid;
    grid-template-columns: repeat(2, minmax(120px, 1fr));
    gap: 12px;
    width: min(360px, 100%);
    margin: 0 0 24px;
}

.ios-call-incall button {
    margin: 0;
    padding: 14px 12px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
}

.ios-call-incall button.is-on {
    background: rgba(10, 132, 255, 0.45);
}

.ios-call-end {
    grid-column: 1 / -1;
    background: #ff3b30 !important;
}

#ios-phone-call.ios-phone-call--tablet .ios-call-panel {
    width: min(520px, 90%);
}

#ios-phone-call.ios-phone-call--facetime {
    background:
        radial-gradient(circle at 50% 18%, rgba(50, 215, 75, 0.35), transparent 45%),
        linear-gradient(180deg, #1c1c1e, #000);
}

.ios-call-primary {
    display: flex;
    justify-content: space-between;
    gap: 64px;
    width: 100%;
    max-width: 280px;
}

.ios-call-decline,
.ios-call-accept {
    width: 72px;
    height: 72px;
    margin: 0;
    border: 0;
    border-radius: 50%;
    font: inherit;
    font-size: 0.78em;
    font-weight: 700;
    cursor: pointer;
}

.ios-call-decline {
    background: #ff3b30;
    color: #fff;
}

.ios-call-accept {
    background: #30d158;
    color: #06210c;
}

.ios-call-toast {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 1;
    padding: 12px 16px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.94);
    color: #f5f5f7;
    font-size: 0.85em;
    font-weight: 600;
    transform: translateX(-50%);
    white-space: nowrap;
}

.ios-call-toast[hidden] {
    display: none !important;
}

html.ios-call-on #ios-assistive-touch,
html.ios-call-on #ios-sys,
html.ios-call-on #ios-keyboard {
    display: none !important;
}

/* Universal Clipboard banner */
#ios-clipboard {
    position: absolute;
    left: 50%;
    top: auto;
    bottom: 28px;
    z-index: 92;
    width: min(380px, 92%);
    padding: 12px 14px;
    border-radius: 14px;
    background: rgba(28, 28, 30, 0.96);
    color: #f5f5f7;
    transform: translateX(-50%);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
    box-sizing: border-box;
}

#ios-clipboard[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-clipboard {
    position: fixed;
}

#ios-clipboard.ios-clipboard--tablet {
    width: min(460px, 70%);
}

.ios-cb-head {
    margin: 0 0 4px;
}

.ios-cb-kicker {
    margin: 0;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #0a84ff;
}

.ios-cb-title {
    margin: 0;
    font-size: 0.95em;
    font-weight: 700;
}

.ios-cb-body {
    margin: 0 0 10px;
    font-size: 0.82em;
    color: rgba(245, 245, 247, 0.7);
    word-break: break-word;
}

.ios-cb-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#ios-cb-paste,
#ios-cb-history,
#ios-cb-dismiss {
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

#ios-cb-paste {
    background: rgba(10, 132, 255, 0.35);
}

#ios-cb-paste[hidden] {
    display: none !important;
}

#ios-clipboard-sheet {
    position: absolute;
    inset: 0;
    z-index: 93;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-clipboard-sheet[hidden] {
    display: none !important;
}

html.ios-form-tablet #ios-clipboard-sheet {
    align-items: center;
}

.ios-cbs-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-cbs-panel {
    position: relative;
    z-index: 1;
    width: min(420px, 94%);
    max-height: min(70vh, 560px);
    margin: 0 0 18px;
    padding: 0 0 12px;
    border-radius: 18px 18px 0 0;
    background: rgba(245, 245, 247, 0.97);
    color: #1c1c1e;
    overflow: auto;
}

html.ios-form-tablet .ios-cbs-panel {
    margin: 0;
    border-radius: 18px;
}

.ios-cbs-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-cbs-kicker {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ios-cbs-head p {
    margin: 0;
    font-weight: 700;
}

.ios-cbs-head button {
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-cbs-lead {
    margin: 10px 14px;
    font-size: 0.8em;
    color: #8e8e93;
}

.ios-cbs-list {
    list-style: none;
    margin: 0 14px;
    padding: 0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.ios-cbs-list button {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid rgba(60, 60, 67, 0.1);
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-cbs-list li:last-child button {
    border-bottom: 0;
}

.ios-cbs-list strong {
    display: block;
    font-size: 0.85em;
}

.ios-cbs-list span {
    display: block;
    margin-top: 2px;
    font-size: 0.78em;
    color: #8e8e93;
}

.ios-cbs-empty {
    padding: 16px;
    text-align: center;
    color: #8e8e93;
}

/* Badges manage sheet */
#ios-badges-sheet {
    position: absolute;
    inset: 0;
    z-index: 91;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-badges-sheet[hidden] {
    display: none !important;
}

html.ios-form-tablet #ios-badges-sheet {
    align-items: center;
}

.ios-bdg-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-bdg-panel {
    position: relative;
    z-index: 1;
    width: min(420px, 94%);
    max-height: min(72vh, 580px);
    margin: 0 0 18px;
    padding: 0 0 14px;
    border-radius: 18px 18px 0 0;
    background: rgba(245, 245, 247, 0.97);
    color: #1c1c1e;
    overflow: auto;
}

html.ios-form-tablet .ios-bdg-panel {
    margin: 0;
    border-radius: 18px;
}

.ios-bdg-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-bdg-kicker {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
}

.ios-bdg-head p {
    margin: 0;
    font-weight: 700;
}

.ios-bdg-head button {
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-bdg-lead {
    margin: 10px 14px;
    font-size: 0.8em;
    color: #8e8e93;
}

.ios-bdg-list {
    list-style: none;
    margin: 0 14px;
    padding: 0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.ios-bdg-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.1);
    font-weight: 600;
}

.ios-bdg-list li:last-child {
    border-bottom: 0;
}

.ios-bdg-row-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ios-bdg-count {
    min-width: 1.5em;
    text-align: right;
    color: #ff3b30;
}

.ios-bdg-row-actions button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 8px;
    background: rgba(60, 60, 67, 0.1);
    color: #007aff;
    font: inherit;
    font-size: 0.8em;
    font-weight: 600;
    cursor: pointer;
}

.ios-bdg-actions {
    display: flex;
    gap: 8px;
    margin: 14px 14px 0;
}

.ios-bdg-actions button {
    flex: 1 1 0;
    margin: 0;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

/* SpringBoard notification badges */
body.ios-springboard #desktop a[data-link],
body.ios-springboard #tableau a[data-link],
body.ios-springboard #dock a[data-link] {
    position: relative;
}

.ios-sb-badge {
    position: absolute;
    top: -4px;
    right: -4px;
    z-index: 2;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ff3b30;
    color: #fff;
    font-size: 0.68em;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
    pointer-events: none;
}

.ios-sb-badge[hidden] {
    display: none !important;
}

html.ios-form-tablet body.ios-springboard .ios-sb-badge {
    top: -6px;
    right: -6px;
    min-width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 0.72em;
}

/* iPad : les icônes de page sont centrées dans une cellule de 136 px (icône 60 px à 38 / 42 px du bord) ;
   la pastille se pose sur le coin haut-droit de l'icône, pas sur celui de la cellule (elle flottait
   35 px au-dessus, détachée — on aurait dit une notification sans app). */
html.ios-form-tablet body.ios-springboard #desktop .sb-page > a[data-link] > .ios-sb-badge {
    top: 32px;
    right: 28px;
}

/* VPN status */
.ios-cc-pill[data-cc-action="vpn"].is-on {
    background: rgba(48, 209, 88, 0.4);
}

html.ios-vpn-on #statusright::after {
    content: ' VPN';
    color: #30d158;
    font-size: 0.72em;
    font-weight: 700;
}

/* Software Update — feuille pédagogique (Support Apple / Settings › General) */
#ios-su {
    position: absolute;
    inset: 0;
    z-index: 72;
    display: flex;
    align-items: center;
    justify-content: center;
}

#ios-su[hidden] {
    display: none !important;
}

.ios-su__scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.42);
}

.ios-su__card {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: min(360px, calc(100% - 48px));
    max-height: min(88vh, 720px);
    margin: 0;
    padding: 28px 22px 18px;
    border-radius: 22px;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    color: #1c1c1e;
    background: rgba(245, 245, 247, 0.96);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
    text-align: center;
    overflow: auto;
}

#ios-su.ios-su--tablet .ios-su__card {
    width: min(440px, calc(100% - 64px));
}

.ios-su__kicker {
    margin: 0 0 8px;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-su__glyph {
    width: 64px;
    height: 64px;
    margin: 0 0 14px;
    border-radius: 16px;
    background:
        linear-gradient(160deg, #5ac8fa 0%, #007aff 55%, #5856d6 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.ios-su__title {
    margin: 0 0 4px;
    font-size: 1.28em;
    font-weight: 700;
    letter-spacing: -0.02em;
}

.ios-su__ver {
    margin: 0 0 6px;
    font-size: 1.05em;
    font-weight: 600;
    color: #007aff;
}

.ios-su__meta {
    margin: 0 0 12px;
    font-size: 0.82em;
    color: #8e8e93;
}

.ios-su__progress {
    width: 100%;
    margin: 0 0 14px;
}

.ios-su__progress[hidden] {
    display: none !important;
}

.ios-su__bar {
    height: 6px;
    margin: 0 0 6px;
    border-radius: 999px;
    background: rgba(60, 60, 67, 0.16);
    overflow: hidden;
}

.ios-su__bar i {
    display: block;
    height: 100%;
    width: 0;
    background: #007aff;
    border-radius: 999px;
    transition: width 0.2s linear;
}

.ios-su__phase {
    margin: 0;
    font-size: 0.8em;
    font-weight: 600;
    color: #007aff;
}

.ios-su__notes {
    width: 100%;
    list-style: none;
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff;
    text-align: left;
    box-sizing: border-box;
}

.ios-su__notes li {
    position: relative;
    margin: 0 0 6px;
    padding: 0 0 0 14px;
    font-size: 0.8em;
    color: #3a3a3c;
}

.ios-su__notes li:last-child {
    margin-bottom: 0;
}

.ios-su__notes li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #007aff;
}

.ios-su__autos {
    width: 100%;
    list-style: none;
    margin: 0 0 12px;
    padding: 0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
    text-align: left;
    box-sizing: border-box;
}

.ios-su__autos li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.1);
    font-size: 0.85em;
    font-weight: 600;
}

.ios-su__autos li:last-child {
    border-bottom: 0;
}

.ios-su__autos button {
    margin: 0;
    padding: 4px 10px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-su__autos button.is-on {
    color: #007aff;
}

.ios-su__body {
    margin: 0 0 18px;
    font-size: 0.88em;
    line-height: 1.35;
    color: #3a3a3c;
}

.ios-su__primary:disabled {
    opacity: 0.55;
    cursor: default;
}

.ios-su__secondary[hidden] {
    display: none !important;
}

.ios-su__primary,
.ios-su__secondary,
.ios-su__link {
    width: 100%;
    border: 0;
    font: inherit;
    cursor: pointer;
}

.ios-su__primary {
    margin: 0 0 8px;
    padding: 12px 16px;
    border-radius: 12px;
    color: #fff;
    background: #007aff;
    font-weight: 600;
}

.ios-su__secondary {
    margin: 0 0 4px;
    padding: 11px 16px;
    border-radius: 12px;
    color: #007aff;
    background: rgba(0, 122, 255, 0.12);
    font-weight: 600;
}

.ios-su__link {
    padding: 10px;
    color: #8e8e93;
    background: transparent;
    font-size: 0.9em;
}

.ios-su-toast {
    position: absolute;
    left: 50%;
    bottom: 140px;
    z-index: 74;
    transform: translateX(-50%);
    padding: 10px 16px;
    border-radius: 999px;
    color: #f5f5f7;
    background: rgba(28, 28, 30, 0.88);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    font-size: 0.88em;
    white-space: nowrap;
}

.ios-su-toast[hidden] {
    display: none !important;
}

html.ios-form-phone #ios-su {
    position: fixed;
}

html.ios-form-phone .ios-su-toast {
    position: fixed;
    bottom: 96px;
}

/* Low Battery — alerte système (Support Apple) */
#ios-batt-alert {
    position: absolute;
    inset: 0;
    z-index: 76;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.36);
}

#ios-batt-alert[hidden] {
    display: none !important;
}

.ios-batt-alert__card {
    width: min(280px, calc(100% - 48px));
    padding: 18px 16px 12px;
    border-radius: 14px;
    background: rgba(242, 242, 247, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    text-align: center;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    color: #1c1c1e;
}

.ios-batt-alert__title {
    margin: 0 0 6px;
    font-size: 1.05em;
    font-weight: 700;
}

.ios-batt-alert__body {
    margin: 0 0 14px;
    font-size: 0.88em;
    color: #3a3a3c;
}

#ios-batt-alert-close {
    width: 100%;
    border: 0;
    border-top: 1px solid rgba(60, 60, 67, 0.18);
    padding: 11px 0 2px;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

html.ios-form-phone #ios-batt-alert {
    position: fixed;
}

/* Translate — feuille pédagogique densifiée (Text / Conversation / Favorites) */
#ios-translate {
    position: absolute;
    inset: 0;
    z-index: 73;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-translate[hidden] {
    display: none !important;
}

.ios-tr__scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-tr__sheet {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(420px, 100%);
    max-height: min(78vh, 620px);
    margin: 0;
    padding: 0;
    border-radius: 18px 18px 0 0;
    background: rgba(245, 245, 247, 0.97);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    color: #1c1c1e;
    overflow: hidden;
}

html.ios-form-tablet #ios-translate {
    align-items: center;
}

html.ios-form-tablet .ios-tr__sheet,
.ios-translate--tablet .ios-tr__sheet {
    width: min(880px, 94%);
    max-height: min(82vh, 680px);
    border-radius: 18px;
}

.ios-tr__side {
    display: none;
    flex: 0 0 220px;
    width: 220px;
    padding: 14px 12px 18px;
    border-right: 0.5px solid rgba(60, 60, 67, 0.18);
    background: #e5e5ea;
    overflow-y: auto;
}

html.ios-form-tablet .ios-tr__side,
.ios-translate--tablet .ios-tr__side {
    display: block;
}

.ios-tr__side-title {
    margin: 0 6px 12px;
    font-size: 1.2em;
    font-weight: 700;
}

.ios-tr__modes {
    display: flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 16px;
}

.ios-tr__mode {
    display: block;
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.ios-tr__mode.is-on {
    background: #007aff;
    color: #fff;
}

.ios-tr__side-heading {
    margin: 0 6px 8px;
    color: #8e8e93;
    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-tr__langs-dl {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ios-tr__langs-dl li {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    font-size: 0.9em;
    font-weight: 500;
}

.ios-tr__langs-dl span {
    color: #34c759;
    font-size: 0.82em;
    font-weight: 600;
}

.ios-tr__main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
}

.ios-tr__pane {
    flex: 1 1 auto;
    overflow-y: auto;
    padding-bottom: 16px;
}

.ios-tr__phone-modes {
    display: flex;
    gap: 6px;
    padding: 8px 14px 0;
}

html.ios-form-tablet .ios-tr__phone-modes,
.ios-translate--tablet .ios-tr__phone-modes {
    display: none;
}

.ios-tr__pmode {
    flex: 1 1 auto;
    border: 0;
    border-radius: 8px;
    padding: 8px 6px;
    background: rgba(60, 60, 67, 0.08);
    color: #1c1c1e;
    font: inherit;
    font-size: 0.85em;
    font-weight: 600;
    cursor: pointer;
}

.ios-tr__pmode.is-on {
    background: #1c1c1e;
    color: #fff;
}

.ios-tr__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-tr__head p {
    margin: 0;
    font-weight: 700;
}

.ios-tr__head button {
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-tr__langs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 12px 14px 4px;
}

.ios-tr__langs button {
    border: 0;
    border-radius: 999px;
    padding: 6px 12px;
    background: rgba(0, 122, 255, 0.12);
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

#ios-tr-swap {
    background: rgba(60, 60, 67, 0.1);
    color: #3a3a3c;
    min-width: 64px;
}

.ios-tr__field,
.ios-tr__out {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 10px 14px;
    padding: 12px;
    border-radius: 14px;
    background: #fff;
}

.ios-tr__label {
    font-size: 0.75em;
    font-weight: 600;
    color: #8e8e93;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

#ios-tr-input,
#ios-tr-conv-input {
    width: 100%;
    border: 0;
    resize: vertical;
    font: inherit;
    font-size: 1.05em;
    line-height: 1.35;
    color: #1c1c1e;
    background: transparent;
    outline: none;
}

#ios-tr-result {
    margin: 0;
    min-height: 2.4em;
    font-size: 1.15em;
    font-weight: 600;
    line-height: 1.35;
    color: #007aff;
}

.ios-tr__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 14px 12px;
}

.ios-tr__chips button {
    border: 0;
    border-radius: 999px;
    padding: 7px 12px;
    background: rgba(60, 60, 67, 0.08);
    color: #3a3a3c;
    font: inherit;
    font-size: 0.82em;
    cursor: pointer;
}

.ios-tr__primary,
.ios-tr__secondary {
    display: block;
    width: calc(100% - 28px);
    margin: 0 14px 10px;
    border: 0;
    border-radius: 12px;
    padding: 12px 16px;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.ios-tr__primary {
    background: #007aff;
    color: #fff;
}

.ios-tr__secondary {
    background: rgba(60, 60, 67, 0.1);
    color: #1c1c1e;
}

.ios-tr__section {
    margin: 8px 16px 6px;
    color: #8e8e93;
    font-size: 0.72em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ios-tr__history,
.ios-tr__fav-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 14px;
}

.ios-tr__hist,
.ios-tr__fav-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: #1c1c1e;
    font: inherit;
    text-align: left;
    cursor: pointer;
}

.ios-tr__hist span,
.ios-tr__fav-row span {
    color: #007aff;
    font-weight: 600;
}

.ios-tr__fav-row em {
    color: #8e8e93;
    font-size: 0.78em;
    font-style: normal;
}

.ios-tr__lead,
.ios-tr__footnote,
.ios-tr__empty {
    margin: 10px 16px;
    color: #8e8e93;
    font-size: 0.88em;
    line-height: 1.35;
}

.ios-tr__conv {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0 14px 10px;
    min-height: 120px;
    max-height: 220px;
    overflow-y: auto;
}

.ios-tr__bubble {
    max-width: 85%;
    padding: 10px 12px;
    border-radius: 14px;
    background: #fff;
}

.ios-tr__bubble--a {
    align-self: flex-start;
    background: #e8f1ff;
}

.ios-tr__bubble--b {
    align-self: flex-end;
    background: #e9f9ee;
}

.ios-tr__bubble-lang {
    display: block;
    margin-bottom: 4px;
    color: #8e8e93;
    font-size: 0.7em;
    font-weight: 700;
    text-transform: uppercase;
}

.ios-tr__bubble p {
    margin: 0;
    font-size: 0.98em;
    line-height: 1.35;
}

html.ios-form-phone #ios-translate {
    position: fixed;
}

/* AirDrop receive — bannière pédagogique */
#ios-airdrop {
    position: absolute;
    left: 50%;
    top: 52px;
    z-index: 75;
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(420px, calc(100% - 32px));
    margin: 0;
    padding: 12px 14px;
    border-radius: 18px;
    transform: translateX(-50%);
    background: rgba(28, 28, 30, 0.9);
    backdrop-filter: blur(22px);
    -webkit-backdrop-filter: blur(22px);
    color: #f5f5f7;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.35);
}

#ios-airdrop[hidden] {
    display: none !important;
}

.ios-ad__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background:
        radial-gradient(circle at 30% 30%, #5ac8fa, transparent 55%),
        linear-gradient(145deg, #007aff, #5856d6);
    color: #fff;
    font-size: 0.65em;
    font-weight: 800;
}

.ios-ad__meta {
    flex: 1 1 auto;
    min-width: 0;
}

.ios-ad__kicker {
    margin: 0 0 2px;
    font-size: 0.65em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.55;
}

.ios-ad__from {
    margin: 0 0 2px;
    font-size: 0.78em;
    color: rgba(245, 245, 247, 0.72);
}

.ios-ad__file {
    margin: 0;
    font-size: 0.98em;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ios-ad__kind {
    margin: 2px 0 0;
    font-size: 0.72em;
    opacity: 0.65;
}

.ios-ad__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 6px;
}

.ios-ad__vis {
    display: none;
    flex: 1 1 100%;
    gap: 6px;
    margin-top: 4px;
}

html.ios-form-tablet #ios-airdrop.ios-airdrop--tablet,
#ios-airdrop.ios-airdrop--tablet {
    flex-flow: row wrap;
    width: min(520px, calc(100% - 48px));
    top: 64px;
}

html.ios-form-tablet .ios-ad__vis,
.ios-airdrop--tablet .ios-ad__vis {
    display: flex;
}

.ios-ad__vis button {
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.68em;
    font-weight: 600;
    cursor: pointer;
}

.ios-ad__vis button.is-on {
    background: #0a84ff;
}

.ios-ad__actions button {
    border: 0;
    border-radius: 999px;
    padding: 8px 12px;
    font: inherit;
    font-size: 0.82em;
    font-weight: 600;
    cursor: pointer;
    color: #f5f5f7;
    background: rgba(255, 255, 255, 0.14);
}

.ios-ad__actions button.is-primary {
    background: #0a84ff;
}

.ios-ad-toast {
    position: absolute;
    left: 50%;
    bottom: 140px;
    z-index: 76;
    transform: translateX(-50%);
    padding: 10px 16px;
    border-radius: 999px;
    color: #f5f5f7;
    background: rgba(28, 28, 30, 0.88);
    font-size: 0.88em;
    white-space: nowrap;
}

.ios-ad-toast[hidden] {
    display: none !important;
}

html.ios-form-phone #ios-airdrop,
html.ios-form-phone .ios-ad-toast {
    position: fixed;
}

html.ios-form-phone #ios-airdrop {
    top: 54px;
}

/* Print Center / AirPrint */
#ios-print {
    position: absolute;
    inset: 0;
    z-index: 73;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

#ios-print[hidden] {
    display: none !important;
}

.ios-print__scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}

.ios-print__sheet {
    position: relative;
    z-index: 1;
    width: min(420px, 100%);
    max-height: min(78vh, 640px);
    margin: 0;
    padding: 0 0 16px;
    border-radius: 18px 18px 0 0;
    background: rgba(245, 245, 247, 0.97);
    backdrop-filter: blur(24px);
    -webkit-backdrop-filter: blur(24px);
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    color: #1c1c1e;
    overflow: auto;
}

html.ios-form-tablet #ios-print {
    align-items: center;
}

html.ios-form-tablet .ios-print__sheet {
    border-radius: 18px;
}

.ios-print__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-print__head-mid {
    flex: 1 1 auto;
    text-align: center;
}

.ios-print__kicker,
.ios-pq__kicker {
    margin: 0;
    font-size: 0.68em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #8e8e93;
}

.ios-print__head p {
    margin: 0;
    font-weight: 700;
}

.ios-print__head button {
    border: 0;
    background: transparent;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-print__head button.is-primary {
    font-weight: 700;
}

.ios-print__preview {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 16px;
}

.ios-print__page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 140px;
    height: 180px;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
    font-size: 0.78em;
    font-weight: 600;
    text-align: center;
    padding: 12px;
    color: #3a3a3c;
}

.ios-print__page--2 {
    opacity: 0.72;
    transform: rotate(2deg);
}

.ios-print__page--2[hidden] {
    display: none !important;
}

.ios-print--tablet .ios-print__sheet {
    width: min(520px, 92%);
}

.ios-print--tablet .ios-print__page {
    width: 160px;
    height: 210px;
}

.ios-print__queue-link {
    display: block;
    width: calc(100% - 28px);
    margin: 14px 14px 0;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #fff;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-print__rows {
    list-style: none;
    margin: 0 14px;
    padding: 0;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}

.ios-print__rows li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(60, 60, 67, 0.12);
}

.ios-print__rows li:last-child {
    border-bottom: 0;
}

.ios-print__rows span {
    font-weight: 500;
}

.ios-print__rows button {
    border: 0;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    cursor: pointer;
}

.ios-print__rows button.is-on {
    color: #007aff;
}

.ios-print__hint {
    margin: 12px 18px 0;
    font-size: 0.78em;
    color: #8e8e93;
    text-align: center;
}

#ios-print-queue {
    position: absolute;
    left: 50%;
    top: 72px;
    z-index: 74;
    width: min(360px, calc(100% - 32px));
    transform: translateX(-50%);
    border-radius: 16px;
    background: rgba(28, 28, 30, 0.92);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    color: #f5f5f7;
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Text', 'Segoe UI', sans-serif;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
    overflow: hidden;
}

#ios-print-queue[hidden] {
    display: none !important;
}

.ios-pq__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.ios-pq__head p {
    margin: 0;
    font-weight: 700;
}

.ios-pq__head button {
    border: 0;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}

.ios-pq__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.ios-pq__list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ios-pq__list li:last-child {
    border-bottom: 0;
}

.ios-pq__list strong {
    display: block;
    font-size: 0.95em;
}

.ios-pq__list span {
    display: block;
    margin-top: 2px;
    font-size: 0.78em;
    color: rgba(245, 245, 247, 0.65);
}

.ios-pq__list button {
    border: 0;
    border-radius: 999px;
    padding: 6px 10px;
    background: rgba(255, 69, 58, 0.28);
    color: #ff6961;
    font: inherit;
    font-size: 0.8em;
    font-weight: 600;
    cursor: pointer;
}

.ios-pq__empty {
    padding: 18px 14px !important;
    justify-content: center !important;
    color: rgba(245, 245, 247, 0.55);
}

html.ios-form-phone #ios-print,
html.ios-form-phone #ios-print-queue {
    position: fixed;
}

/* ─── Mail pédagogique (iPadOS split) ─── */
#ios-mail {
    position: absolute;
    inset: 0;
    z-index: 46;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
#ios-mail[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-mail { position: fixed; }
html.ios-form-tablet #ios-mail { position: absolute; }
.ios-mail-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
.ios-mail-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(960px, calc(100% - 24px));
    height: min(720px, calc(100% - 48px));
    margin: auto;
    overflow: hidden;
    border-radius: 16px;
    background: #1c1c1e;
    color: #f5f5f7;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
}
html.ios-form-tablet .ios-mail-panel {
    width: min(1040px, calc(100% - 40px));
    height: min(680px, calc(100% - 56px));
}
html.ios-form-phone .ios-mail-panel {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 0;
}
.ios-mail-boxes,
.ios-mail-list-pane,
.ios-mail-detail {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 0;
}
.ios-mail-boxes {
    flex: 0 0 200px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: #2c2c2e;
}
.ios-mail-list-pane {
    flex: 0 0 300px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
.ios-mail-detail { flex: 1 1 auto; background: #000; }
html.ios-form-phone .ios-mail-boxes,
html.ios-form-phone .ios-mail-list-pane,
html.ios-form-phone .ios-mail-detail {
    position: absolute;
    inset: 0;
    flex: none;
    width: 100%;
    border-right: 0;
}
html.ios-form-phone .ios-mail-list-pane,
html.ios-form-phone .ios-mail-detail { display: none; }
html.ios-form-phone .ios-mail--list .ios-mail-boxes { display: none; }
html.ios-form-phone .ios-mail--list .ios-mail-list-pane { display: flex; }
html.ios-form-phone .ios-mail--detail .ios-mail-boxes,
html.ios-form-phone .ios-mail--detail .ios-mail-list-pane { display: none; }
html.ios-form-phone .ios-mail--detail .ios-mail-detail { display: flex; }
.ios-mail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.ios-mail-title { margin: 0; font-size: 0.95em; font-weight: 700; }
.ios-mail-head button,
.ios-mail-head-spacer {
    min-width: 64px;
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-size: 0.9em;
    font-weight: 600;
    cursor: pointer;
    text-align: left;
}
.ios-mail-head-spacer { visibility: hidden; pointer-events: none; }
.ios-mail-box-list {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 10px;
}
.ios-mail-box {
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    font-size: 0.92em;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.ios-mail-box.is-on { background: #0a84ff; }
.ios-mail-box {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.ios-mail-box-n {
    min-width: 1.4em;
    padding: 1px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.16);
    color: #f5f5f7;
    font-size: 0.78em;
    font-weight: 700;
    text-align: center;
}
.ios-mail-box.is-on .ios-mail-box-n {
    background: rgba(255, 255, 255, 0.28);
}
.ios-mail-box-n[hidden] { display: none !important; }
.ios-mail-acct {
    margin: 0;
    padding: 8px 16px 4px;
    color: #8e8e93;
    font-size: 0.72em;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
.ios-mail-filters {
    display: flex;
    gap: 8px;
    padding: 6px 12px 8px;
}
.ios-mail-filter {
    padding: 5px 12px;
    border: 0;
    border-radius: 999px;
    background: #2c2c2e;
    color: #f5f5f7;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}
.ios-mail-filter.is-on {
    background: #0a84ff;
}
.ios-mail-move {
    position: absolute;
    left: 18%;
    right: 18%;
    top: 12%;
    z-index: 6;
    display: flex;
    flex-direction: column;
    max-height: 70%;
    border-radius: 14px;
    background: #1c1c1e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}
.ios-mail-move[hidden] { display: none !important; }
.ios-mail-move-list {
    display: flex;
    flex-direction: column;
    padding: 8px;
    overflow: auto;
}
.ios-mail-move-item {
    margin: 0 0 4px;
    padding: 12px 14px;
    border: 0;
    border-radius: 10px;
    background: #2c2c2e;
    color: #f5f5f7;
    font: inherit;
    font-size: 0.95em;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.ios-mail-move-item:hover { background: #0a84ff; }
#ios-mail-vip.is-on {
    color: #ffd60a;
}
.ios-mail-search {
    padding: 8px 12px 4px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.ios-mail-search input {
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.92em;
    box-sizing: border-box;
}
.ios-mail-search input::placeholder {
    color: rgba(245, 245, 247, 0.45);
}
.ios-mail-head-acts {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
}
.ios-mail-head-acts button {
    min-width: 0;
    padding: 4px 8px;
}
#ios-mail-flag.is-on {
    color: #ff9f0a;
}
.ios-mail-row.is-flagged .ios-mail-row-sub::before {
    content: "Flag · ";
    color: #ff9f0a;
    font-weight: 700;
}
.ios-mail-badges {
    margin: 0 0 12px;
    color: #ff9f0a;
    font-size: 0.82em;
    font-weight: 700;
    min-height: 1em;
}
.ios-mail-compose {
    position: absolute;
    inset: 8% 10% auto;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: min(560px, 80%);
    margin: 0 auto;
    left: 0;
    right: 0;
    padding: 12px 14px 16px;
    border-radius: 16px;
    background: #1c1c1e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.5);
}
.ios-mail-compose[hidden] { display: none !important; }
.ios-mail-compose-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 6px;
}
.ios-mail-compose-head p {
    margin: 0;
    font-weight: 700;
}
.ios-mail-compose-head button {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-mail-compose label {
    display: flex;
    align-items: center;
    gap: 8px;
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.88em;
}
.ios-mail-compose input,
.ios-mail-compose textarea {
    flex: 1 1 auto;
    margin: 0;
    padding: 8px 10px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    box-sizing: border-box;
}
.ios-mail-compose textarea {
    width: 100%;
    min-height: 160px;
    resize: vertical;
}
.ios-mail-toast {
    position: absolute;
    left: 50%;
    bottom: 18%;
    z-index: 4;
    margin: 0;
    padding: 8px 14px;
    border-radius: 999px;
    background: rgba(44, 44, 46, 0.95);
    color: #f5f5f7;
    font-size: 0.88em;
    font-weight: 600;
    transform: translateX(-50%);
}
.ios-mail-toast[hidden] { display: none !important; }
.ios-mail-list {
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: auto;
    flex: 1 1 auto;
}
.ios-mail-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    margin: 0;
    padding: 12px 14px;
    border: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-mail-row.is-selected { background: rgba(10, 132, 255, 0.28); }
.ios-mail-row.is-unread strong { font-weight: 800; }
.ios-mail-row-top {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 0.92em;
}
.ios-mail-row-top time { opacity: 0.55; font-size: 0.85em; }
.ios-mail-row-sub { font-size: 0.88em; font-weight: 600; }
.ios-mail-row-prev {
    font-size: 0.8em;
    color: rgba(245, 245, 247, 0.55);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ios-mail-empty-row {
    padding: 24px;
    text-align: center;
    opacity: 0.5;
}
.ios-mail-detail-empty {
    margin: auto;
    opacity: 0.45;
    font-size: 1.05em;
}
.ios-mail-detail-body {
    flex: 1 1 auto;
    overflow: auto;
    padding: 18px 22px 24px;
}
.ios-mail-detail-body h2 {
    margin: 0 0 10px;
    font-size: 1.35em;
    font-weight: 700;
}
.ios-mail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin: 0 0 18px;
    font-size: 0.88em;
    color: rgba(245, 245, 247, 0.7);
}
.ios-mail-detail-body pre {
    margin: 0;
    white-space: pre-wrap;
    font: inherit;
    font-size: 0.98em;
    line-height: 1.45;
}
.ios-mail-actions {
    display: flex;
    gap: 10px;
    margin-top: 22px;
}
.ios-mail-actions button {
    border: 0;
    border-radius: 10px;
    padding: 8px 14px;
    background: rgba(255, 255, 255, 0.12);
    color: #f5f5f7;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
html.ios-mail-on #ios-sys { display: none !important; }

/* ─── Weather pédagogique ─── */
#ios-weather {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ios-weather[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-weather {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
}
.ios-weather-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
.ios-weather-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(420px, calc(100% - 28px));
    max-height: min(720px, 92%);
    overflow: hidden;
    border-radius: 22px;
    background: linear-gradient(165deg, #1c6fd4 0%, #4aa3f0 55%, #7ec8ff 100%);
    color: #fff;
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.4);
}
html.ios-form-tablet .ios-weather-panel {
    width: min(880px, calc(100% - 48px));
    height: min(680px, 90%);
}
html.ios-form-phone .ios-weather-panel {
    width: 100%;
    height: 100%;
    max-height: none;
    border-radius: 0;
}
.ios-weather-cities {
    display: none;
    flex-direction: column;
    flex: 0 0 220px;
    background: rgba(0, 0, 0, 0.18);
    border-right: 1px solid rgba(255, 255, 255, 0.12);
}
html.ios-form-tablet .ios-weather-cities {
    display: flex;
}
html.ios-form-phone .ios-weather--list .ios-weather-cities {
    display: flex;
    flex: 1 1 auto;
    border-right: 0;
}
html.ios-form-phone .ios-weather--list .ios-weather-main {
    display: none;
}
.ios-weather-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
    overflow: auto;
    padding: 0 0 16px;
}
.ios-weather-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    flex: 0 0 auto;
}
.ios-weather-head button {
    border: 0;
    background: none;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
    min-width: 48px;
}
.ios-weather-place { margin: 0; font-size: 1.05em; font-weight: 700; }
.ios-weather-city-list {
    list-style: none;
    margin: 0;
    padding: 8px;
    overflow: auto;
    flex: 1 1 auto;
}
.ios-weather-city {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    margin: 0 0 6px;
    padding: 12px;
    border: 0;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-weather-city.is-on {
    background: rgba(255, 255, 255, 0.28);
}
.ios-weather-city span {
    font-size: 0.82em;
    opacity: 0.85;
}
.ios-weather-hero { text-align: center; padding: 8px 16px 18px; }
.ios-weather-temp {
    margin: 0;
    font-size: 4.2em;
    font-weight: 200;
    line-height: 1;
    letter-spacing: -0.03em;
}
.ios-weather-cond { margin: 4px 0 0; font-size: 1.15em; font-weight: 600; }
.ios-weather-hl { margin: 6px 0 0; opacity: 0.9; font-size: 0.95em; }
.ios-weather-hourly {
    display: flex;
    gap: 8px;
    list-style: none;
    margin: 0 14px 14px;
    padding: 12px;
    overflow-x: auto;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.16);
}
.ios-weather-hourly li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    min-width: 52px;
    font-size: 0.78em;
}
.ios-weather-ico {
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.02em;
    opacity: 0.92;
}
.ios-weather-daily {
    list-style: none;
    margin: 0 14px 14px;
    padding: 8px 12px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.16);
}
.ios-weather-daily li {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 0.9em;
}
.ios-weather-daily li:first-child { border-top: 0; }
.ios-weather-day {
    flex: 0 0 52px;
    font-weight: 600;
}
.ios-weather-range {
    margin-left: auto;
    display: flex;
    gap: 10px;
    font-variant-numeric: tabular-nums;
}
.ios-weather-range em {
    font-style: normal;
    opacity: 0.7;
}
.ios-weather-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0 14px;
}
html.ios-form-tablet .ios-weather-stats {
    grid-template-columns: repeat(4, 1fr);
}
.ios-weather-stats div {
    padding: 12px;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.16);
}
.ios-weather-stats dt {
    margin: 0 0 4px;
    font-size: 0.72em;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    opacity: 0.8;
}
.ios-weather-stats dd { margin: 0; font-size: 1.05em; font-weight: 600; }
.ios-weather-hint {
    margin: 12px 16px 0;
    font-size: 0.72em;
    opacity: 0.75;
    text-align: center;
}

/* Widget Météo Home (medium) */
.widget-weather {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 12px 14px;
    box-sizing: border-box;
    background: linear-gradient(160deg, #1c6fd4 0%, #5bb0f5 100%);
    color: #fff;
    cursor: pointer;
}
.w-weather-place {
    margin: 0;
    font-size: 0.78em;
    font-weight: 700;
    opacity: 0.92;
}
.w-weather-temp {
    margin: 4px 0 0;
    font-size: 2.6em;
    font-weight: 200;
    line-height: 1;
}
.w-weather-cond {
    margin: 0;
    font-size: 0.92em;
    font-weight: 600;
}
.w-weather-hl {
    margin: 4px 0 0;
    font-size: 0.78em;
    opacity: 0.88;
}
html.ios-form-tablet body#ios-18 #widgets {
    height: 136px;
}
html.ios-form-tablet body#ios-18 #widgets .widget-weather {
    display: flex;
}
html.ios-form-phone:not(.ios-home-factory) .widget-weather--tablet-only {
    display: none !important;
}
body.ios-springboard .shell-face--mail {
    background: linear-gradient(180deg, #1a73e8 0%, #0a84ff 100%);
}
body.ios-springboard .shell-face--mail img,
body.ios-springboard .shell-face--weather img {
    width: 70%;
    height: 70%;
}
body.ios-springboard .shell-face--weather {
    background: transparent;
    padding: 0;
}
body.ios-springboard .shell-face--weather img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ─── Music pédagogique (Listen Now / Library + Now Playing) ─── */
#ios-music {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ios-music[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-music {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
}
.ios-music-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}
.ios-music-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(720px, calc(100% - 28px));
    height: min(640px, calc(100% - 48px));
    overflow: hidden;
    border-radius: 18px;
    background: #1c1c1e;
    color: #f5f5f7;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.5);
}
html.ios-form-tablet .ios-music-panel {
    width: min(920px, calc(100% - 48px));
    height: min(700px, calc(100% - 56px));
}
html.ios-form-phone .ios-music-panel {
    width: 100%;
    height: 100%;
    border-radius: 0;
}
.ios-music-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    flex: 0 0 auto;
}
.ios-music-title { margin: 0; font-size: 1.05em; font-weight: 700; }
.ios-music-head button {
    min-width: 64px;
    border: 0;
    background: none;
    color: #ff2d55;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-music-shell {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}
.ios-music-side {
    display: none;
}
html.ios-form-tablet .ios-music-side {
    display: flex;
    flex-direction: column;
    flex: 0 0 168px;
    gap: 4px;
    padding: 12px 10px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
}
html.ios-form-tablet .ios-music-side .ios-music-tab {
    flex: 0 0 auto;
    text-align: left;
    padding: 10px 12px;
}
.ios-music-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    min-height: 0;
}
.ios-music-tabs {
    display: flex;
    gap: 4px;
    padding: 10px 12px;
    flex: 0 0 auto;
    flex-wrap: wrap;
}
html.ios-form-tablet .ios-music-tabs {
    display: none;
}
.ios-music-tab {
    flex: 1 1 0;
    margin: 0;
    padding: 8px 6px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.08);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.72em;
    font-weight: 600;
    cursor: pointer;
}
.ios-music-tab.is-on { background: #ff2d55; }
.ios-music-body {
    flex: 1 1 auto;
    overflow: auto;
    padding: 4px 14px 16px;
}
.ios-music-section { margin: 0 0 18px; }
.ios-music-section h2 {
    margin: 0 0 10px;
    font-size: 1.2em;
    font-weight: 700;
}
.ios-music-back {
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    background: none;
    color: #ff2d55;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-music-search {
    margin: 0 0 12px;
}
.ios-music-search input {
    width: 100%;
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    box-sizing: border-box;
}
.ios-music-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}
html.ios-form-tablet .ios-music-cards {
    grid-template-columns: repeat(3, 1fr);
}
.ios-music-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 0 0 8px;
    border: 0;
    border-radius: 12px;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-music-card-art {
    display: block;
    width: 100%;
    aspect-ratio: 1;
    border-radius: 10px;
    background: linear-gradient(145deg, #ff375f, #ff9f0a 55%, #bf5af2);
}
.ios-music-card strong { font-size: 0.88em; }
.ios-music-card span { font-size: 0.75em; opacity: 0.65; }
.ios-music-rows { list-style: none; margin: 0; padding: 0; }
.ios-music-rows li { border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.ios-music-rows button,
.ios-music-lib {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    margin: 0;
    padding: 12px 4px;
    border: 0;
    background: none;
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-music-lib {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    font-weight: 600;
}
.ios-music-rows span { font-size: 0.8em; opacity: 0.55; }
.ios-music-cats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}
html.ios-form-tablet .ios-music-cats {
    grid-template-columns: repeat(3, 1fr);
}
.ios-music-cat {
    margin: 0;
    padding: 22px 14px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, #5e5ce6, #bf5af2);
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.ios-music-radio-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
    width: 100%;
    margin: 0 0 14px;
    padding: 22px 18px;
    border: 0;
    border-radius: 16px;
    background: linear-gradient(135deg, #ff375f, #bf5af2);
    color: #fff;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-music-radio-card strong { font-size: 1.2em; }
.ios-music-radio-card span { opacity: 0.85; font-size: 0.9em; }
.ios-music-hint {
    margin: 14px 0 0;
    font-size: 0.78em;
    opacity: 0.55;
}
.ios-music-now {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(44, 44, 46, 0.95);
    flex: 0 0 auto;
}
.ios-music-art {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    background: linear-gradient(145deg, #ff375f, #ff9f0a);
    cursor: pointer;
}
.ios-music-meta { flex: 1 1 auto; min-width: 0; }
.ios-music-meta strong {
    display: block;
    font-size: 0.92em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ios-music-meta span {
    display: block;
    font-size: 0.78em;
    opacity: 0.65;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ios-music-controls { display: flex; gap: 4px; }
.ios-music-controls button {
    min-width: 44px;
    height: 36px;
    margin: 0;
    padding: 0 8px;
    border: 0;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    font: inherit;
    font-size: 0.72em;
    font-weight: 700;
    cursor: pointer;
}
.ios-music-np {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    padding: 12px 18px 18px;
    background: linear-gradient(180deg, #2c1a22 0%, #1c1c1e 45%, #000 100%);
    overflow: auto;
}
.ios-music-np[hidden] { display: none !important; }
.ios-music-np-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 16px;
}
.ios-music-np-head p { margin: 0; font-weight: 700; }
.ios-music-np-head button {
    border: 0;
    background: none;
    color: #ff2d55;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
#ios-music-like.is-on { color: #ff2d55; }
.ios-music-np-art {
    width: min(280px, 70%);
    aspect-ratio: 1;
    margin: 0 auto 18px;
    border-radius: 12px;
    background: linear-gradient(145deg, #ff375f, #ff9f0a 55%, #bf5af2);
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}
.ios-music-np h2 {
    margin: 0;
    text-align: center;
    font-size: 1.35em;
}
#ios-music-np-artist {
    margin: 4px 0 16px;
    text-align: center;
    opacity: 0.65;
}
.ios-music-scrub { margin: 0 0 14px; }
.ios-music-scrub-track {
    height: 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.18);
    overflow: hidden;
}
#ios-music-scrub-fill {
    display: block;
    height: 100%;
    width: 22%;
    background: #f5f5f7;
}
.ios-music-scrub-times {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 0.75em;
    opacity: 0.55;
    font-variant-numeric: tabular-nums;
}
.ios-music-np-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin: 0 0 18px;
    flex-wrap: wrap;
}
.ios-music-np-controls button {
    margin: 0;
    padding: 10px 12px;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.82em;
    font-weight: 700;
    cursor: pointer;
}
.ios-music-np-controls button.is-on {
    background: rgba(255, 45, 85, 0.35);
    color: #ff2d55;
}
.ios-music-np-primary {
    background: #f5f5f7 !important;
    color: #000 !important;
    min-width: 88px;
}
.ios-music-queue h3 {
    margin: 0 0 8px;
    font-size: 0.95em;
}
.ios-music-queue ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.ios-music-queue li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 8px 0;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    font-size: 0.88em;
}
.ios-music-queue span { opacity: 0.55; }
html.ios-music-on #ios-sys { display: none !important; }
body.ios-springboard .shell-face--music {
    background: linear-gradient(180deg, #fc3c44 0%, #fa233b 100%);
}
body.ios-springboard .shell-face--music img {
    width: 62%;
    height: 62%;
}

/* Pointeur / trackpad iPadOS — léger lift des icônes Home (desktop tablette) */
html.ios-form-tablet body.ios-springboard .sb-page > a {
    transition: transform 0.14s ease, filter 0.14s ease;
}
html.ios-form-tablet body.ios-springboard .sb-page > a:hover {
    transform: scale(1.06);
    filter: brightness(1.06);
}
html.ios-form-tablet body.ios-springboard .sb-page > a:active {
    transform: scale(0.96);
    filter: brightness(0.92);
}
html.ios-form-tablet body.ios-springboard #tableau > nav > a {
    transition: transform 0.14s ease;
}
html.ios-form-tablet body.ios-springboard #tableau > nav > a:hover {
    transform: scale(1.08);
}
html.ios-form-tablet body.ios-springboard #widgets .widget {
    transition: transform 0.16s ease, box-shadow 0.16s ease;
}
html.ios-form-tablet body.ios-springboard #widgets .widget:hover {
    transform: translateY(-2px) scale(1.01);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

/* ─── Camera pédagogique (Photo / Video / Portrait) ─── */
#ios-camera {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: #000;
}
#ios-camera[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-camera {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
}
.ios-camera-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    color: #fff;
}
.ios-camera-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 14px;
    background: rgba(0, 0, 0, 0.45);
    flex: 0 0 auto;
}
.ios-camera-top-mid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 6px;
}
.ios-camera-top-spacer { min-width: 52px; }
.ios-camera-top button {
    border: 0;
    border-radius: 999px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font: inherit;
    font-size: 0.78em;
    font-weight: 600;
    cursor: pointer;
}
.ios-camera-top button.is-on {
    background: #ffcc00;
    color: #1c1c1e;
}
.ios-camera-stage {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}
.ios-camera-side {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding: 12px;
    background: rgba(0, 0, 0, 0.55);
}
html.ios-form-tablet .ios-camera-side {
    display: flex;
}
.ios-camera-side button {
    width: 48px;
    height: 48px;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
    font: inherit;
    font-size: 0.75em;
    font-weight: 700;
    cursor: pointer;
}
.ios-camera-side button.is-on {
    background: #ffcc00;
    color: #1c1c1e;
}
.ios-camera-view {
    position: relative;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    transform-origin: center center;
    transition: transform 0.2s ease;
    background:
        radial-gradient(ellipse at 30% 25%, rgba(255, 200, 120, 0.35), transparent 45%),
        radial-gradient(ellipse at 70% 60%, rgba(80, 140, 255, 0.28), transparent 50%),
        linear-gradient(160deg, #1a1a1c 0%, #2c3340 45%, #1e2430 100%);
}
.ios-camera--front .ios-camera-view {
    background:
        radial-gradient(circle at 50% 40%, rgba(255, 220, 180, 0.45), transparent 40%),
        linear-gradient(180deg, #3a3a3c 0%, #1c1c1e 100%);
}
.ios-camera--portrait .ios-camera-view {
    filter: saturate(1.1) contrast(1.05);
}
.ios-camera--portrait .ios-camera-view::after {
    content: '';
    position: absolute;
    inset: 12% 18%;
    border: 1.5px solid rgba(255, 255, 255, 0.35);
    border-radius: 50%;
    pointer-events: none;
}
.ios-camera--pano .ios-camera-view::before {
    content: '';
    position: absolute;
    left: 8%;
    right: 8%;
    top: 50%;
    height: 2px;
    background: rgba(255, 204, 0, 0.7);
    transform: translateY(-50%);
    pointer-events: none;
}
.ios-camera-grid-lines {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(to right, transparent 32.9%, rgba(255,255,255,0.12) 33%, rgba(255,255,255,0.12) 33.2%, transparent 33.3%),
        linear-gradient(to right, transparent 65.9%, rgba(255,255,255,0.12) 66%, rgba(255,255,255,0.12) 66.2%, transparent 66.3%),
        linear-gradient(to bottom, transparent 32.9%, rgba(255,255,255,0.12) 33%, rgba(255,255,255,0.12) 33.2%, transparent 33.3%),
        linear-gradient(to bottom, transparent 65.9%, rgba(255,255,255,0.12) 66%, rgba(255,255,255,0.12) 66.2%, transparent 66.3%);
    pointer-events: none;
}
.ios-camera-grid-lines[hidden] { display: none !important; }
.ios-camera-rec,
.ios-camera-countdown {
    position: absolute;
    top: 14px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    padding: 4px 10px;
    border-radius: 8px;
    background: rgba(255, 59, 48, 0.9);
    font-size: 0.85em;
    font-weight: 700;
    letter-spacing: 0.04em;
}
.ios-camera-countdown {
    top: 40%;
    padding: 12px 22px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    font-size: 2.4em;
    font-weight: 200;
}
.ios-camera-rec[hidden],
.ios-camera-countdown[hidden] { display: none !important; }
.ios-camera-mode-label,
.ios-camera-zoom-badge {
    position: absolute;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    font-size: 0.78em;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);
}
.ios-camera-zoom-badge {
    bottom: 36px;
    letter-spacing: 0.04em;
    opacity: 0.85;
}
.ios-camera-zooms {
    display: flex;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px 0;
    background: #000;
}
html.ios-form-tablet .ios-camera-zooms {
    display: none;
}
.ios-camera-zooms button {
    min-width: 36px;
    height: 36px;
    margin: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    font: inherit;
    font-size: 0.75em;
    font-weight: 700;
    cursor: pointer;
}
.ios-camera-zooms button.is-on {
    background: #ffcc00;
    color: #1c1c1e;
}
.ios-camera-modes {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 10px 12px 4px;
    background: #000;
    overflow-x: auto;
    flex: 0 0 auto;
}
.ios-camera-mode {
    border: 0;
    background: none;
    color: rgba(255, 255, 255, 0.45);
    font: inherit;
    font-size: 0.7em;
    font-weight: 700;
    letter-spacing: 0.04em;
    white-space: nowrap;
    cursor: pointer;
}
.ios-camera-mode.is-on { color: #ffcc00; }
.ios-camera-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 28px 22px;
    background: #000;
    flex: 0 0 auto;
}
.ios-camera-thumb {
    width: 44px;
    height: 44px;
    border: 2px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.08);
    cursor: pointer;
}
.ios-camera-thumb.has-shot { border-color: #fff; }
.ios-camera-shutter {
    width: 72px;
    height: 72px;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 3px #000;
    cursor: pointer;
}
.ios-camera-shutter.is-recording {
    background: #ff3b30;
    box-shadow: inset 0 0 0 18px #000;
    border-radius: 16px;
    width: 64px;
    height: 64px;
}
.ios-camera-flip {
    min-width: 44px;
    height: 44px;
    padding: 0 10px;
    border: 0;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.18);
    color: #fff;
    font: inherit;
    font-size: 0.78em;
    font-weight: 700;
    cursor: pointer;
}
.ios-camera-toast {
    position: absolute;
    left: 50%;
    bottom: 120px;
    transform: translateX(-50%);
    margin: 0;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(28, 28, 30, 0.88);
    color: #f5f5f7;
    font-size: 0.88em;
    font-weight: 600;
    white-space: nowrap;
}
.ios-camera-toast[hidden] { display: none !important; }
.ios-camera--flashbang .ios-camera-view {
    filter: brightness(2.2);
}
.ios-cc-media-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 100%;
    margin: 0 0 8px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
body.ios-springboard .shell-face--camera {
    background: linear-gradient(180deg, #3a3a3c 0%, #1c1c1e 100%);
}
body.ios-springboard .shell-face--camera img {
    width: 58%;
    height: 58%;
}
html.ios-camera-on #ios-sys { display: none !important; }

/* ─── FaceTime pédagogique (Recents / Contacts + appel vidéo / audio) ─── */
body.ios-springboard .shell-face--facetime {
    background: linear-gradient(180deg, #64d2ff 0%, #30d158 55%, #248a3d 100%);
}
body.ios-springboard .shell-face--facetime svg {
    display: block;
    width: 58%;
    height: 58%;
}
#ios-facetime {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ios-facetime[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-facetime {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
}
.ios-ft-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}
.ios-ft-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(920px, calc(100% - 28px));
    height: min(620px, calc(100% - 48px));
    overflow: hidden;
    border-radius: 18px;
    background: #1c1c1e;
    color: #f5f5f7;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}
html.ios-form-phone .ios-ft-panel {
    flex-direction: column;
    width: 100%;
    height: 100%;
    border-radius: 0;
}
.ios-ft-sidebar {
    display: flex;
    flex-direction: column;
    width: 340px;
    min-width: 280px;
    border-right: 1px solid rgba(255, 255, 255, 0.08);
    background: #2c2c2e;
}
html.ios-form-phone .ios-ft-sidebar {
    width: 100%;
    min-width: 0;
    border-right: 0;
    flex: 1;
}
.ios-facetime--in-call.ios-facetime--tablet .ios-ft-sidebar {
    width: 300px;
}
html.ios-form-phone .ios-facetime--in-call .ios-ft-sidebar { display: none; }
.ios-ft-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 14px 8px;
}
.ios-ft-head button {
    min-width: 44px;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.1);
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-ft-title {
    margin: 0;
    font-size: 1.05em;
    font-weight: 700;
}
.ios-ft-tabs {
    display: flex;
    gap: 4px;
    margin: 0 14px 10px;
    padding: 3px;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
}
.ios-ft-tab {
    flex: 1;
    padding: 7px 8px;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: #aeaeb2;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-ft-tab.is-on {
    background: rgba(255, 255, 255, 0.14);
    color: #fff;
}
.ios-ft-search {
    margin: 0 14px 10px;
}
.ios-ft-search input {
    width: 100%;
    margin: 0;
    padding: 9px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(0, 0, 0, 0.28);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.92em;
    box-sizing: border-box;
}
.ios-ft-search input::placeholder {
    color: rgba(245, 245, 247, 0.45);
}
.ios-ft-list {
    list-style: none;
    margin: 0;
    padding: 0 8px 16px;
    overflow: auto;
    flex: 1;
}
.ios-ft-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 4px;
    padding: 10px 8px;
    border-radius: 12px;
    cursor: pointer;
}
.ios-ft-row:hover,
.ios-ft-row:focus-within {
    background: rgba(255, 255, 255, 0.08);
}
.ios-ft-row.is-missed strong { color: #ff453a; }
.ios-ft-row-av {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    color: #fff;
    font-size: 0.78em;
    font-weight: 700;
    flex-shrink: 0;
}
.ios-ft-row-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.ios-ft-row-meta strong {
    font-size: 0.95em;
    font-weight: 600;
}
.ios-ft-row-meta em {
    font-style: normal;
    color: #8e8e93;
    font-size: 0.78em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ios-ft-row-acts {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}
.ios-ft-row-acts button {
    padding: 5px 8px;
    border: 0;
    border-radius: 8px;
    background: rgba(10, 132, 255, 0.22);
    color: #64d2ff;
    font: inherit;
    font-size: 0.72em;
    font-weight: 700;
    cursor: pointer;
}
.ios-ft-row-info {
    color: #8e8e93;
    font-size: 0.72em;
    font-weight: 700;
}
.ios-ft-empty-row {
    padding: 24px 12px;
    text-align: center;
    color: #8e8e93;
    font-size: 0.9em;
}
.ios-ft-detail {
    position: relative;
    display: flex;
    flex: 1;
    flex-direction: column;
    min-width: 0;
    background: #000;
}
html.ios-form-phone .ios-ft-detail { display: none; }
html.ios-form-phone .ios-facetime--in-call .ios-ft-detail {
    display: flex;
    position: absolute;
    inset: 0;
}
.ios-ft-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 100%;
    padding: 24px;
    text-align: center;
    color: #aeaeb2;
}
.ios-ft-empty-ico {
    margin: 0;
    font-size: 2.4em;
    color: #30d158;
}
.ios-ft-empty h2 {
    margin: 0;
    color: #f5f5f7;
    font-size: 1.4em;
}
.ios-ft-empty p { margin: 0; max-width: 280px; }
.ios-ft-cta {
    margin-top: 12px;
    padding: 10px 18px;
    border: 0;
    border-radius: 12px;
    background: #30d158;
    color: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.ios-ft-call {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.ios-ft-stage {
    position: relative;
    flex: 1;
    overflow: hidden;
    background: radial-gradient(ellipse at 50% 30%, #1c3a28 0%, #0a0a0a 70%);
}
.ios-facetime--audio .ios-ft-stage {
    background: radial-gradient(ellipse at 50% 40%, #1a2a3a 0%, #0a0a0a 72%);
}
.ios-ft-remote {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 100%;
    padding: 24px;
}
.ios-ft-avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 112px;
    height: 112px;
    border-radius: 50%;
    background: #30d158;
    color: #fff;
    font-size: 2em;
    font-weight: 700;
    box-shadow: 0 0 0 6px rgba(48, 209, 88, 0.22);
}
.ios-ft-peer {
    margin: 0;
    font-size: 1.5em;
    font-weight: 700;
}
.ios-ft-status {
    margin: 0;
    color: #aeaeb2;
    font-variant-numeric: tabular-nums;
}
.ios-ft-badges {
    margin: 0;
    min-height: 1.1em;
    color: #30d158;
    font-size: 0.82em;
    font-weight: 700;
}
.ios-facetime--shareplay .ios-ft-stage {
    box-shadow: inset 0 0 0 3px rgba(48, 209, 88, 0.45);
}
.ios-facetime--effects .ios-ft-avatar {
    filter: saturate(1.35) contrast(1.08);
}
.ios-ft-pip {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    width: 112px;
    height: 150px;
    padding: 8px;
    border-radius: 14px;
    background: linear-gradient(160deg, #3a3a3c, #1c1c1e);
    color: #fff;
    font-size: 0.75em;
    font-weight: 600;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}
.ios-facetime--cam-off .ios-ft-pip {
    background: #1c1c1e;
    color: #8e8e93;
}
.ios-facetime--audio .ios-ft-pip { display: none; }
.ios-ft-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    padding: 18px 16px 22px;
    background: rgba(28, 28, 30, 0.92);
}
.ios-ft-ctrl {
    min-width: 68px;
    padding: 12px 10px;
    border: 0;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.72em;
    font-weight: 700;
    cursor: pointer;
}
.ios-ft-ctrl.is-on {
    background: #f5f5f7;
    color: #1c1c1e;
}
.ios-ft-ctrl--end {
    background: #ff3b30;
    color: #fff;
}
.ios-ft-toast {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 2;
    transform: translateX(-50%);
    margin: 0;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(28, 28, 30, 0.92);
    color: #f5f5f7;
    font-size: 0.88em;
    font-weight: 600;
    white-space: nowrap;
}
.ios-ft-toast[hidden] { display: none !important; }
.ios-ft-compose {
    position: absolute;
    inset: 8% 12% auto;
    z-index: 3;
    left: 0;
    right: 0;
    width: min(420px, 86%);
    margin: 0 auto;
    padding: 12px 14px 16px;
    border-radius: 16px;
    background: #2c2c2e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.5);
}
.ios-ft-compose[hidden] { display: none !important; }
.ios-ft-compose-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 8px;
}
.ios-ft-compose-head p {
    margin: 0;
    font-weight: 700;
}
.ios-ft-compose-head button {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-ft-compose-hint {
    margin: 0 0 10px;
    color: #8e8e93;
    font-size: 0.85em;
}
.ios-ft-compose-list {
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 320px;
    overflow: auto;
}
.ios-ft-compose-row {
    display: flex;
    align-items: center;
    gap: 10px;
    width: 100%;
    margin: 0 0 6px;
    padding: 10px 8px;
    border: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.06);
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-ft-compose-row span {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.ios-ft-compose-row em {
    font-style: normal;
    color: #8e8e93;
    font-size: 0.78em;
}
.ios-ft-compose-acts {
    display: flex;
    gap: 6px;
    flex-direction: row !important;
    flex: 0 0 auto !important;
}
.ios-ft-compose-acts i {
    font-style: normal;
    padding: 5px 8px;
    border-radius: 8px;
    background: rgba(10, 132, 255, 0.22);
    color: #64d2ff;
    font-size: 0.72em;
    font-weight: 700;
}
html.ios-facetime-on #ios-sys { display: none !important; }

/* Notification Center — stacks, Clear, widgets Today */
.ios-nc-card--stack {
    position: relative;
}
.ios-nc-card--stack::after {
    content: '';
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: -6px;
    height: 10px;
    border-radius: 0 0 14px 14px;
    background: rgba(255, 255, 255, 0.28);
    z-index: -1;
}
.ios-nc-card[data-nc-app="facetime"] .ios-nc-card__meta strong {
    color: #30d158;
}
.ios-nc-x[hidden] {
    display: none !important;
}
.ios-nc-empty {
    margin: 24px 16px;
    padding: 18px;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.12);
    color: rgba(255, 255, 255, 0.72);
    text-align: center;
    font-weight: 600;
}
.ios-nc-empty[hidden] {
    display: none !important;
}

/* ─── Téléphone pédagogique (Favoris / Récents / Contacts / Clavier) ─── */
#ios-phone {
    position: absolute;
    inset: 0;
    z-index: 90;
    display: flex;
    align-items: center;
    justify-content: center;
}
#ios-phone[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-phone {
    position: fixed;
    inset: 0;
    width: 100vw;
    height: 100vh;
}
.ios-ph-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
}
.ios-ph-panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(420px, calc(100% - 24px));
    height: min(720px, calc(100% - 40px));
    overflow: hidden;
    border-radius: 18px;
    background: #f2f2f7;
    color: #1c1c1e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}
html.ios-form-phone .ios-ph-panel {
    width: 100%;
    height: 100%;
    border-radius: 0;
}
html.ios-form-tablet .ios-ph-panel {
    width: min(920px, calc(100% - 36px));
    height: min(660px, calc(100% - 48px));
}
.ios-ph-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 14px 14px 8px;
    background: rgba(242, 242, 247, 0.94);
    flex: 0 0 auto;
}
.ios-ph-head button {
    min-width: 52px;
    padding: 6px 10px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-ph-head button.is-on { font-weight: 700; }
.ios-ph-title {
    margin: 0;
    font-size: 1.05em;
    font-weight: 700;
}
.ios-ph-shell {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
}
.ios-ph-side {
    display: none;
}
html.ios-form-tablet .ios-ph-side {
    display: flex;
    flex-direction: column;
    flex: 0 0 148px;
    gap: 4px;
    padding: 10px 8px;
    background: #e5e5ea;
    border-right: 1px solid #d1d1d6;
}
html.ios-form-tablet .ios-ph-side .ios-ph-tab {
    flex: 0 0 auto;
    text-align: left;
    padding: 10px 12px;
    border-radius: 10px;
    background: transparent;
    color: #1c1c1e;
    font-size: 0.88em;
}
html.ios-form-tablet .ios-ph-side .ios-ph-tab.is-on {
    background: #fff;
    color: #0a84ff;
}
html.ios-form-tablet .ios-ph-tabs {
    display: none;
}
.ios-ph-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    min-width: 0;
    flex-direction: column;
}
html.ios-form-tablet .ios-ph-body {
    flex-direction: row;
}
.ios-ph-search {
    padding: 8px 12px 4px;
    background: #fff;
    flex: 0 0 auto;
}
.ios-ph-search[hidden] { display: none !important; }
.ios-ph-search input {
    width: 100%;
    margin: 0;
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: #e9e9eb;
    color: #1c1c1e;
    font: inherit;
    box-sizing: border-box;
}
.ios-ph-main {
    flex: 1 1 auto;
    min-width: 0;
    overflow: auto;
    background: #fff;
}
html.ios-form-tablet .ios-ph-main {
    border-right: 1px solid #e5e5ea;
}
.ios-ph-list {
    list-style: none;
    margin: 0;
    padding: 4px 0 16px;
}
.ios-ph-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-bottom: 1px solid #f2f2f7;
}
.ios-ph-av {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #fff;
    font-size: 0.75em;
    font-weight: 700;
    flex-shrink: 0;
}
.ios-ph-meta {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    flex: 1;
}
.ios-ph-meta strong {
    font-size: 0.95em;
    font-weight: 600;
}
.ios-ph-meta strong.is-missed { color: #ff3b30; }
.ios-ph-meta em {
    font-style: normal;
    color: #8e8e93;
    font-size: 0.78em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.ios-ph-acts {
    display: flex;
    gap: 4px;
    flex-shrink: 0;
}
.ios-ph-acts button {
    padding: 6px 8px;
    border: 0;
    border-radius: 8px;
    background: rgba(10, 132, 255, 0.12);
    color: #0a84ff;
    font: inherit;
    font-size: 0.72em;
    font-weight: 700;
    cursor: pointer;
}
.ios-ph-empty {
    padding: 28px 16px;
    text-align: center;
    color: #8e8e93;
    font-size: 0.95em;
}
.ios-ph-row.is-unheard strong {
    font-weight: 800;
}
.ios-ph-keypad-hint {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    text-align: center;
    color: #8e8e93;
}
.ios-ph-keypad-hint p { margin: 0 0 6px; font-weight: 600; color: #1c1c1e; }
.ios-ph-keypad-hint-sub { font-weight: 500 !important; color: #8e8e93 !important; }
.ios-ph-keypad-pane {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 12px 16px 8px;
    background: #fff;
}
html.ios-form-tablet .ios-ph-keypad-pane {
    width: 320px;
    flex-shrink: 0;
}
html.ios-form-phone .ios-phone:not(.ios-phone--keypad) .ios-ph-keypad-pane {
    display: none;
}
html.ios-form-phone .ios-phone--keypad .ios-ph-main {
    display: none;
}
.ios-ph-dial {
    min-height: 1.4em;
    margin: 0 0 4px;
    color: #1c1c1e;
    font-size: 1.55em;
    font-weight: 300;
    letter-spacing: 0.04em;
    font-variant-numeric: tabular-nums;
    text-align: center;
}
.ios-ph-keys {
    display: grid;
    grid-template-columns: repeat(3, 72px);
    gap: 12px 18px;
    justify-content: center;
}
.ios-ph-key {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border: 0;
    border-radius: 50%;
    background: #e5e5ea;
    color: #1c1c1e;
    font: inherit;
    cursor: pointer;
}
.ios-ph-key strong {
    font-size: 1.55em;
    font-weight: 400;
    line-height: 1;
}
.ios-ph-key span {
    margin-top: 2px;
    color: #3a3a3c;
    font-size: 0.58em;
    font-weight: 700;
    letter-spacing: 0.08em;
}
.ios-ph-key-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 28px;
    margin-top: 8px;
    min-height: 72px;
}
.ios-ph-call-btn {
    width: 72px;
    height: 72px;
    border: 0;
    border-radius: 50%;
    background: #30d158;
    color: #fff;
    font: inherit;
    font-size: 0.95em;
    font-weight: 700;
    cursor: pointer;
}
.ios-ph-del {
    width: 52px;
    height: 44px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #1c1c1e;
    font-size: 1.2em;
    cursor: pointer;
}
.ios-ph-tabs {
    display: flex;
    gap: 2px;
    padding: 6px 8px calc(10px + env(safe-area-inset-bottom, 0px));
    background: rgba(242, 242, 247, 0.96);
    border-top: 1px solid #e5e5ea;
}
.ios-ph-tab {
    flex: 1;
    padding: 8px 2px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #8e8e93;
    font: inherit;
    font-size: 0.62em;
    font-weight: 600;
    cursor: pointer;
}
.ios-ph-tab.is-on { color: #0a84ff; }
.ios-ph-call {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 28px 20px 36px;
    background: linear-gradient(180deg, #1c1c1e 0%, #000 100%);
    color: #f5f5f7;
}
.ios-ph-call[hidden] { display: none !important; }
.ios-ph-call-kicker {
    margin: 0 0 8px;
    color: #aeaeb2;
    font-size: 0.85em;
    font-weight: 600;
}
.ios-ph-call-av {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 108px;
    height: 108px;
    border-radius: 50%;
    background: #30d158;
    color: #fff;
    font-size: 2em;
    font-weight: 700;
}
.ios-ph-call-name {
    margin: 8px 0 0;
    font-size: 1.55em;
    font-weight: 700;
}
.ios-ph-call-status {
    margin: 0;
    color: #aeaeb2;
    font-variant-numeric: tabular-nums;
}
.ios-ph-call-controls {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-top: 28px;
    max-width: 340px;
}
.ios-ph-ctrl {
    min-width: 72px;
    padding: 12px 10px;
    border: 0;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.14);
    color: #f5f5f7;
    font: inherit;
    font-size: 0.75em;
    font-weight: 700;
    cursor: pointer;
}
.ios-ph-ctrl.is-on {
    background: #f5f5f7;
    color: #1c1c1e;
}
.ios-ph-ctrl--end {
    background: #ff3b30;
    color: #fff;
    min-width: 120px;
}
.ios-phone--hold .ios-ph-call-status {
    color: #ff9f0a;
}
.ios-ph-detail {
    position: absolute;
    inset: 10% 8% auto;
    z-index: 5;
    left: 0;
    right: 0;
    width: min(360px, 88%);
    margin: 0 auto;
    padding: 12px 14px 18px;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}
.ios-ph-detail[hidden] { display: none !important; }
.ios-ph-detail-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 0 0 12px;
}
.ios-ph-detail-head p {
    margin: 0;
    font-weight: 700;
}
.ios-ph-detail-head button {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-ph-detail-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    text-align: center;
}
.ios-ph-detail-av {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 72px;
    height: 72px;
    border-radius: 50%;
    color: #fff;
    font-weight: 700;
}
.ios-ph-detail-body h2 {
    margin: 0;
    font-size: 1.25em;
}
.ios-ph-detail-num {
    margin: 0;
    color: #8e8e93;
}
.ios-ph-detail-acts {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-top: 10px;
}
.ios-ph-detail-acts button {
    padding: 8px 12px;
    border: 0;
    border-radius: 10px;
    background: rgba(10, 132, 255, 0.12);
    color: #0a84ff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}
.ios-ph-toast {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 4;
    transform: translateX(-50%);
    margin: 0;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(28, 28, 30, 0.92);
    color: #f5f5f7;
    font-size: 0.88em;
    font-weight: 600;
    white-space: nowrap;
}
.ios-ph-toast[hidden] { display: none !important; }
html.ios-phone-on #ios-sys { display: none !important; }

/* ─── Watch companion (CapsuleOnly) — Support Apple Watch / Face Gallery ─── */
#ios-watch {
    position: absolute;
    inset: 0;
    z-index: 48;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
#ios-watch[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-watch {
    position: fixed;
}
.ios-watch-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
.ios-watch-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(920px, 100%);
    max-height: 100%;
    margin: auto;
    overflow: hidden;
    border-radius: 18px;
    background: #f2f2f7;
    color: #1c1c1e;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
}
html.ios-form-tablet .ios-watch-panel {
    width: min(960px, 94%);
    height: min(720px, 90%);
}
html.ios-form-phone .ios-watch-panel {
    width: 100%;
    height: 100%;
    margin: 0;
    /* iPhone : la barre d'état (47 pt, encoche) reste au-dessus de l'app — son en-tête commence dessous. */
    padding-top: 47px;
    border-radius: 0;
}
.ios-watch-side {
    display: none;
    flex: 0 0 240px;
    width: 240px;
    padding: 0 0 16px;
    border-right: 0.5px solid #c6c6c8;
    background: #e5e5ea;
    overflow-y: auto;
}
html.ios-form-tablet .ios-watch-side,
.ios-watch--tablet .ios-watch-side { display: block; }
html.ios-form-phone .ios-watch--menu .ios-watch-side {
    display: block;
    position: absolute;
    left: 0; top: 0; bottom: 0;
    z-index: 3;
    width: min(280px, 86%);
    box-shadow: 8px 0 24px rgba(0, 0, 0, 0.18);
}
.ios-watch-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    background: #fff;
    overflow: hidden;
}
.ios-watch-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
}
.ios-watch-head button {
    border: 0;
    background: none;
    color: #007aff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-watch-title { margin: 0; font-size: 1.05em; font-weight: 700; }
.ios-watch-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 10px;
}
.ios-watch-nav-item {
    display: block;
    width: 100%;
    margin: 0;
    padding: 11px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.ios-watch-nav-item.is-on { background: #007aff; color: #fff; }
.ios-watch-hint-side {
    margin: 14px 14px 0;
    color: #8e8e93;
    font-size: 0.78em;
}
.ios-watch-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 8px 16px 28px;
}
.ios-watch-device {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 8px 0 18px;
}
.ios-watch-bezel {
    flex: 0 0 auto;
    width: 120px;
    height: 140px;
    padding: 10px 8px;
    border-radius: 28px;
    background: #1c1c1e;
    box-shadow: inset 0 0 0 2px #3a3a3c;
}
.ios-watch-face {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: radial-gradient(circle at 40% 30%, #3a3a3c, #000);
    color: #f5f5f7;
    --ios-watch-accent: #0a84ff;
}
.ios-watch-face-time {
    font-size: 1.35em;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--ios-watch-accent);
}
.ios-watch-face-date,
.ios-watch-face-comp {
    font-size: 0.62em;
    opacity: 0.85;
}
.ios-watch-device-meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    font-size: 0.92em;
}
.ios-watch-device-meta strong { font-size: 1.1em; }
.ios-watch-device-meta span { color: #8e8e93; }
.ios-watch-list {
    list-style: none;
    margin: 0 0 16px;
    padding: 0;
    border-radius: 12px;
    background: #f2f2f7;
    overflow: hidden;
}
.ios-watch-list li {
    border-top: 0.5px solid rgba(60, 60, 67, 0.18);
}
.ios-watch-list li:first-child { border-top: 0; }
.ios-watch-link,
.ios-watch-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    color: #1c1c1e;
    font: inherit;
    font-weight: 500;
    text-align: left;
    cursor: pointer;
}
.ios-watch-section {
    margin: 8px 4px 6px;
    color: #8e8e93;
    font-size: 0.75em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.ios-watch-switch {
    position: relative;
    width: 51px;
    height: 31px;
    border: 0;
    border-radius: 999px;
    background: #e9e9eb;
    cursor: pointer;
}
.ios-watch-switch::after {
    content: '';
    position: absolute;
    top: 2px; left: 2px;
    width: 27px; height: 27px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}
.ios-watch-switch.is-on { background: #34c759; }
.ios-watch-switch.is-on::after { transform: translateX(20px); }
.ios-watch-lead,
.ios-watch-footnote {
    margin: 0 0 12px;
    color: #8e8e93;
    font-size: 0.88em;
    line-height: 1.35;
}
.ios-watch-faces {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin-bottom: 14px;
}
html.ios-form-tablet .ios-watch-faces {
    grid-template-columns: repeat(3, 1fr);
}
.ios-watch-face-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 12px 8px;
    border: 2px solid transparent;
    border-radius: 14px;
    background: #f2f2f7;
    color: #1c1c1e;
    font: inherit;
    cursor: pointer;
}
.ios-watch-face-card.is-on { border-color: #007aff; background: #e8f1ff; }
.ios-watch-face-card .ios-watch-face {
    width: 72px;
    height: 86px;
    border-radius: 16px;
}
.ios-watch-face-badge {
    font-size: 0.72em;
    font-weight: 700;
    color: #007aff;
}
.ios-watch-primary {
    display: block;
    width: 100%;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #007aff;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-watch-discover {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px;
}
.ios-watch-discover strong { font-size: 1.02em; }
.ios-watch-discover span { color: #8e8e93; font-size: 0.9em; line-height: 1.35; }
.ios-watch-card {
    padding: 16px;
    border-radius: 14px;
    background: #f2f2f7;
}
.ios-watch-card p { margin: 8px 0 14px; color: #3a3a3c; line-height: 1.4; }
html.ios-watch-on #ios-sys { display: none !important; }

/* ─── Fitness (CapsuleOnly) — Activity rings + Workouts ─── */
#ios-fitness {
    position: absolute;
    inset: 0;
    z-index: 48;
    display: flex;
    align-items: stretch;
    justify-content: center;
}
#ios-fitness[hidden] { display: none !important; }
html.ios-form-phone body.ios-springboard #ios-fitness {
    position: fixed;
}
.ios-fit-scrim {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
}
.ios-fit-panel {
    position: relative;
    z-index: 1;
    display: flex;
    width: min(920px, 100%);
    max-height: 100%;
    margin: auto;
    overflow: hidden;
    border-radius: 18px;
    background: #000;
    color: #f5f5f7;
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}
html.ios-form-tablet .ios-fit-panel {
    width: min(960px, 94%);
    height: min(720px, 90%);
}
html.ios-form-phone .ios-fit-panel {
    width: 100%;
    height: 100%;
    margin: 0;
    /* iPhone : la barre d'état (47 pt, encoche) reste au-dessus de l'app — son en-tête commence dessous. */
    padding-top: 47px;
    border-radius: 0;
}
.ios-fit-side {
    display: none;
    flex: 0 0 220px;
    width: 220px;
    padding: 0 0 16px;
    border-right: 0.5px solid #2c2c2e;
    background: #1c1c1e;
    overflow-y: auto;
}
html.ios-form-tablet .ios-fit-side,
.ios-fitness--tablet .ios-fit-side { display: block; }
html.ios-form-phone .ios-fitness--menu .ios-fit-side {
    display: block;
    position: absolute;
    left: 0; top: 0; bottom: 0;
    z-index: 3;
    width: min(260px, 86%);
    box-shadow: 8px 0 24px rgba(0, 0, 0, 0.4);
}
.ios-fit-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
    background: #000;
    overflow: hidden;
}
.ios-fit-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 12px 14px;
}
.ios-fit-head button {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-fit-title { margin: 0; font-size: 1.05em; font-weight: 700; }
.ios-fit-nav {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 0 10px;
}
.ios-fit-nav-item {
    display: block;
    width: 100%;
    margin: 0;
    padding: 11px 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}
.ios-fit-nav-item.is-on { background: #0a84ff; }
.ios-fit-body {
    flex: 1 1 auto;
    overflow-y: auto;
    padding: 8px 16px 28px;
}
.ios-fit-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin: 8px 0 18px;
}
.ios-fit-ring-legend {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    min-width: 160px;
}
.ios-fit-ring-legend li {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 0.95em;
}
.ios-fit-ring-legend span { color: rgba(245, 245, 247, 0.65); font-size: 0.9em; }
.ios-fit-ring-legend .is-move strong { color: #ff2d55; }
.ios-fit-ring-legend .is-ex strong { color: #32d74b; }
.ios-fit-ring-legend .is-stand strong { color: #00c7be; }
.ios-fit-stats {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    margin-bottom: 16px;
}
html.ios-form-tablet .ios-fit-stats {
    grid-template-columns: repeat(4, 1fr);
}
.ios-fit-stats div {
    padding: 12px;
    border-radius: 14px;
    background: #1c1c1e;
}
.ios-fit-stats dt {
    margin: 0 0 4px;
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.72em;
    font-weight: 600;
    text-transform: uppercase;
}
.ios-fit-stats dd { margin: 0; font-size: 1.1em; font-weight: 700; }
.ios-fit-section {
    margin: 8px 2px 6px;
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.75em;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.ios-fit-list,
.ios-fit-workouts {
    list-style: none;
    margin: 0 0 14px;
    padding: 0;
    border-radius: 14px;
    background: #1c1c1e;
    overflow: hidden;
}
.ios-fit-list li,
.ios-fit-workouts li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 12px 14px;
    border-top: 0.5px solid #2c2c2e;
}
.ios-fit-list li:first-child,
.ios-fit-workouts li:first-child { border-top: 0; }
.ios-fit-workout {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    background: transparent;
    color: #f5f5f7;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.ios-fit-kind {
    font-size: 0.72em;
    font-weight: 700;
    color: #0a84ff;
    text-transform: uppercase;
}
.ios-fit-muted { color: rgba(245, 245, 247, 0.55); font-size: 0.88em; }
.ios-fit-lead,
.ios-fit-footnote {
    margin: 0 0 12px;
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.88em;
    line-height: 1.35;
}
.ios-fit-card {
    padding: 16px;
    border-radius: 14px;
    background: #1c1c1e;
}
.ios-fit-detail {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 12px;
}
.ios-fit-detail dt {
    color: rgba(245, 245, 247, 0.55);
    font-size: 0.75em;
}
.ios-fit-detail dd { margin: 2px 0 0; font-weight: 700; }
.ios-fit-back {
    border: 0;
    background: none;
    color: #0a84ff;
    font: inherit;
    font-weight: 600;
    margin: 0 0 10px;
    padding: 0;
    cursor: pointer;
}
.ios-fit-share {
    flex-direction: column !important;
    align-items: flex-start !important;
}
.ios-fit-primary {
    display: block;
    width: 100%;
    padding: 12px;
    border: 0;
    border-radius: 12px;
    background: #0a84ff;
    color: #fff;
    font: inherit;
    font-weight: 600;
    cursor: pointer;
}
.ios-fit-toast {
    position: absolute;
    left: 50%;
    bottom: 28px;
    z-index: 4;
    transform: translateX(-50%);
    margin: 0;
    padding: 8px 14px;
    border-radius: 12px;
    background: rgba(44, 44, 46, 0.95);
    color: #f5f5f7;
    font-size: 0.88em;
    font-weight: 600;
}
.ios-fit-toast[hidden] { display: none !important; }
html.ios-fitness-on #ios-sys { display: none !important; }

/* ─── iPadOS 18 (GT iPad Air 5e gén. iOS 18.0, 2026-10-12) : même grille, mêmes widgets, même dock que
   iPadOS 17 sur cet appareil — les règles mesurées ci-dessous ciblent body#ios-17 ET body#ios-18 ;
   seul le fond (WALL-IPAD-17) reste propre à iOS 17. ─── */
/* ─── iPadOS 17 portrait — disposition mesurée sur la GT iPad Air 5e gén. (2026-10-11) ───
   Grille 136 pt, pas 164 (écart 28), origine x 96 / y 54 ; icônes 60 pt ; dock 374×70 à 33 pt du bas ;
   points de page à y 1037 ; pas de pastille Recherche ni de barre d'accueil sur le springboard. */
.ios-ipad-only { display: none; }
html.ios-form-tablet body#ios-17.ios-springboard .ios-ipad-only,
html.ios-form-tablet body#ios-18.ios-springboard .ios-ipad-only { display: block; }
html.ios-form-tablet body#ios-17.ios-springboard #ios-stage,
html.ios-form-tablet body#ios-18.ios-springboard #ios-stage { position: relative; }

/* Barre d'état : « 09:41  Sun Oct 11 » à gauche, glyphes à droite. */
html.ios-form-tablet body#ios-17.ios-springboard #iosheader,
html.ios-form-tablet body#ios-18.ios-springboard #iosheader {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 24px;
    margin: 0;
    padding: 0 16px 0 17px;
    font-size: 12px;
    font-weight: 600;
}
html.ios-form-tablet body#ios-17.ios-springboard #iosheader #heure,
html.ios-form-tablet body#ios-18.ios-springboard #iosheader #heure { font-size: 12px; }
html.ios-form-tablet body#ios-17.ios-springboard #iosheader #ios-date,
html.ios-form-tablet body#ios-17 #iosheader #ios-date,
html.ios-form-tablet body#ios-18.ios-springboard #iosheader #ios-date {
    display: inline;
    margin-left: 10px;
    margin-right: auto; /* reste collée à l'heure dans les barres « space-between » des apps */
    font-size: 12px;
    font-weight: 600;
}

/* Widgets : coordonnées GT (petit 136, moyen 300×136, grand 300×300). */
html.ios-form-tablet body#ios-17.ios-springboard #widgets,
html.ios-form-tablet body#ios-18.ios-springboard #widgets {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto;
    margin: 0;
    gap: 0;
}
html.ios-form-tablet body#ios-17.ios-springboard #widgets .widget-col,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget-col {
    position: absolute;
    display: block;
}
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #widgets .widget-col:nth-child(1),
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-col:nth-child(1) { top: 54px; left: 96px; width: 136px; height: 136px; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #widgets .widget-col:nth-child(2),
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-col:nth-child(2) { top: 218px; left: 96px; width: 300px; height: 136px; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .widget,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget {
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 22px;
    background: #fff;
}
html.ios-form-tablet body#ios-17.ios-springboard #widgets .widget-label,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget-label { display: none; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .widget-blank,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget-blank {
    position: absolute;
    border-radius: 22px;
    padding: 0;
    box-sizing: border-box;
    font-family: var(--font-ui, 'SF UI', -apple-system, sans-serif);
    color: #000;
    background: #fff;
    overflow: hidden;
}
/* Headlines (GT paysage) : titre y 55–65 à x 13, rangées au pas 66 (barre titre 223 : 76–81, barres 214 :
   86–94 / 100–108 / 114–121), vignettes 55 × 55 à droite (x 233–287 du widget), « No Stories » centré en bas. */
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-title,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-title { margin: 17px 0 0 13px; font-size: 15px; font-weight: 700; line-height: 18px; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-row,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-row { display: flex; align-items: flex-start; justify-content: space-between; height: 55px; margin: 0 13px; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-row:first-of-type,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-row:first-of-type { margin-top: 0; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-row + .w-news-row,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-row + .w-news-row { margin-top: 11px; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-title + .w-news-row,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-title + .w-news-row { margin-top: 0; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-lines,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-lines { display: flex; flex-direction: column; gap: 5px; width: 212px; padding-top: 3px; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-lines i,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-lines i { display: block; height: 9px; border-radius: 2px; background: #d6d6d6; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-lines i.w-news-kicker,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-lines i.w-news-kicker { width: 34px; height: 6px; margin-bottom: 1px; background: #dfdfe0; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-thumb,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-thumb { flex: 0 0 55px; width: 55px; height: 55px; border-radius: 6px; background: #d6d6d6; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-empty,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-empty { margin: 18px 0 0; font-size: 11px; text-align: center; color: #3c3c43; }
/* Rappels (GT) : « 0 » gras 24 à x 18 / y 20, bouton liste bleu 18 à droite, « Reminders » bleu 13 sous le 0,
   filet à y 70, « No Reminders » gris 13 centré. */
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-rem-head,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-rem-head { display: flex; align-items: flex-start; justify-content: space-between; margin: 20px 18px 0; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-rem-count,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-rem-count { font-size: 24px; font-weight: 700; line-height: 24px; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-rem-btn,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-rem-btn {
    width: 26px;
    height: 26px;
    margin-top: 2px;
    border-radius: 50%;
    background:
        linear-gradient(#fff, #fff) 9px 8px / 10px 1.5px no-repeat,
        linear-gradient(#fff, #fff) 9px 12px / 10px 1.5px no-repeat,
        linear-gradient(#fff, #fff) 9px 16px / 10px 1.5px no-repeat,
        radial-gradient(circle, #fff 0 1px, transparent 1.5px) 5px 7.5px / 4px 4px no-repeat,
        radial-gradient(circle, #fff 0 1px, transparent 1.5px) 5px 11.5px / 4px 4px no-repeat,
        radial-gradient(circle, #fff 0 1px, transparent 1.5px) 5px 15.5px / 4px 4px no-repeat,
        #007aff;
}
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-rem-label,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-rem-label { margin: 2px 18px 0; padding-bottom: 12px; border-bottom: 0.5px solid #c6c6c8; font-size: 13px; font-weight: 600; color: #007aff; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-rem-empty,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-rem-empty { margin: 100px 0 0; font-size: 13px; text-align: center; color: #8e8e93; }
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-news-empty,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-news-empty { margin: 14px 0 0; }
/* Calendrier moyen (GT iPad) : « No events today » bas dans la carte */
html.ios-form-tablet body#ios-17.ios-springboard #widgets .w-cal-ev,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .w-cal-ev { margin-top: 22px; }
/* Dock iPadOS : matériau clair très givré (GT : presque blanc en portrait, 190 gris sur le filet en paysage). */
html.ios-form-tablet body#ios-17.ios-springboard #tableau,
html.ios-form-tablet body#ios-18.ios-springboard #tableau {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(40px) saturate(1.1);
    -webkit-backdrop-filter: blur(40px) saturate(1.1);
    border: 0;
}
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #widgets .widget-blank--s1,
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-blank--s1 { top: 54px; left: 260px; width: 136px; height: 136px; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #widgets .widget-blank--l1,
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-blank--l1 { top: 54px; left: 424px; width: 300px; height: 300px; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #widgets .widget-blank--l2,
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-blank--l2 { top: 382px; left: 96px; width: 300px; height: 300px; }

/* Widget Calendrier moyen : jour à gauche, mois à droite. */
html.ios-form-tablet body#ios-17.ios-springboard #widgets .widget-cal,
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget-cal {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 12px 14px 10px;
    box-sizing: border-box;
    overflow: hidden;
}
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-left,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-left { flex: 0 0 136px; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-day,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-day { margin: 0; font-size: 10px; font-weight: 700; letter-spacing: 0.04em; color: #ff3b30; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-num,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-num { margin: 2px 0 0; font-size: 34px; font-weight: 400; line-height: 1; color: #000; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-ev,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-ev { margin: 22px 0 0; font-size: 12px; color: #8e8e93; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-month,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-month { flex: 1 1 auto; padding-left: 4px; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-month-name,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-month-name { margin: 0 0 4px; font-size: 9px; font-weight: 700; letter-spacing: 0.04em; color: #ff3b30; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-grid,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    row-gap: 3px;
    font-size: 8px;
    line-height: 14px;
    text-align: center;
    color: #000;
}
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-h,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-h { font-weight: 700; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-d,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-d { font-weight: 600; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-we,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-we { color: #8e8e93; }
html.ios-form-tablet body#ios-17.ios-springboard .w-cal-today,
html.ios-form-tablet body#ios-18.ios-springboard .w-cal-today {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    color: #fff;
    background: #ff3b30;
    justify-self: center;
}

/* Grille d'icônes : cellules 136, pas 164 ; chaque app sur sa cellule GT. */
html.ios-form-tablet body#ios-17.ios-springboard #desktop,
html.ios-form-tablet body#ios-18.ios-springboard #desktop {
    position: absolute;
    inset: 0;
    margin: 0;
    padding: 0;
}
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard .sb-page.sb-page-on,
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard .sb-page.sb-page-on {
    position: absolute;
    top: 54px;
    left: 96px;
    display: grid !important;
    grid-template-columns: repeat(4, 136px);
    grid-auto-rows: 136px;
    column-gap: 28px;
    row-gap: 28px;
    width: auto;
    margin: 0;
    padding: 0;
}
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 136px;
    height: 136px;
    padding-top: 42px;
    box-sizing: border-box;
}
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > img,
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > .cal-face,
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > .shell-face,
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > .phone-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > img,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > .cal-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > .shell-face,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > .phone-face {
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}
html.ios-form-tablet body#ios-17.ios-springboard .sb-page > a > .sb-label,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > a > .sb-label {
    margin-top: 5px;
    font-size: 12px;
    font-weight: 500;
}
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"],
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"] { grid-row: 3; grid-column: 3; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"],
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"] { grid-row: 3; grid-column: 4; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="plans"],
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="plans"] { grid-row: 4; grid-column: 3; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="news"],
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="news"] { grid-row: 4; grid-column: 4; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="settings"],
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="settings"] { grid-row: 5; grid-column: 1; }

/* Pastille Recherche : absente sur iPadOS (points de page à la place). */
html.ios-form-tablet body#ios-17.ios-springboard #recherche,
html.ios-form-tablet body#ios-18.ios-springboard #recherche { display: none; }
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #sb-points,
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #sb-points {
    position: absolute;
    top: auto;
    bottom: 139px; /* ancré par le bas comme le dock : hors mode mesure, la scène est plus courte (smoke 2026-10-12) */
    left: 50%;
    display: flex;
    gap: 8px;
    margin: 0;
    transform: translateX(-50%);
}
html.ios-form-tablet body#ios-17.ios-springboard #sb-points span,
html.ios-form-tablet body#ios-18.ios-springboard #sb-points span { width: 8px; height: 8px; }

/* Dock iPadOS portrait — MESURÉ sur la GT iPad Air 5 iOS 17.5 (accueil et page 2, 2026-10-13, §10.37) :
   barre à 21 pt du bas, hauteur 94, r 30, largeur au contenu (386 avec 4 apps + Bibliothèque ; 633 avec le
   séparateur et 3 apps récentes), icônes 60 r 13,5 au pas 77 (gap 17), marges 9 ; Bibliothèque = tuile claire
   de mini-icônes, sans filet ; fond = moyenne du fond d'écran (#eafbcd sur le fond iOS 17), pas le flou local. */
html.ios-form-tablet body#ios-17.ios-springboard #tableau,
html.ios-form-tablet body#ios-18.ios-springboard #tableau {
    position: absolute;
    bottom: 21px;
    left: 50%;
    width: auto;
    min-width: 386px;
    max-width: calc(100% - 40px);
    height: 94px;
    margin: 0;
    border-radius: 30px;
    transform: translateX(-50%);
}
html.ios-form-tablet.ios-orient-portrait body#ios-17.ios-springboard #tableau {
    background: rgba(234, 251, 205, 0.94);
}
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav {
    gap: 17px;
    padding: 0 9px;
}
/* Taille d'icône : 60, réduite par ios-ipad-home.js (--ios-dock-icon) quand le dock chargé dépasserait la largeur. */
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a,
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a > img,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a > img {
    width: var(--ios-dock-icon, 60px);
    height: var(--ios-dock-icon, 60px);
    border-radius: 13.5px;
}
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > a.ios-dock-suggested--first,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > a.ios-dock-suggested--first {
    margin-left: 0;
    padding-left: 16px;
    border-left: 1px solid rgba(60, 60, 67, 0.3);
    box-sizing: content-box;
}
html.ios-form-tablet body#ios-17.ios-springboard #tableau > nav > #ios-al-dock,
html.ios-form-tablet body#ios-18.ios-springboard #tableau > nav > #ios-al-dock {
    width: var(--ios-dock-icon, 60px);
    height: var(--ios-dock-icon, 60px);
    margin-left: 0;
    padding: 0;
    border-left: 0;
    border-radius: 13.5px;
    background: rgba(255, 255, 255, 0.62);
    box-sizing: border-box;
}
/* Tuile Bibliothèque : 3 mini-icônes 22 pt (GT : Fichiers, Santé, Plans) en grille 2×2. */
html.ios-form-tablet body#ios-17.ios-springboard .ios-al-dock-grid--icons,
html.ios-form-tablet body#ios-18.ios-springboard .ios-al-dock-grid--icons {
    width: 80%;
    height: 80%;
    gap: 4px;
}
html.ios-form-tablet body#ios-17.ios-springboard .ios-al-dock-grid--icons img,
html.ios-form-tablet body#ios-18.ios-springboard .ios-al-dock-grid--icons img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 5px;
}
html.ios-form-tablet body#ios-17.ios-springboard #ios-shell-home.ios-shell-home,
html.ios-form-tablet body#ios-18.ios-springboard #ios-shell-home.ios-shell-home { display: none; }
/* Fond iPadOS 17 — phase « Home » rendue depuis les documents CoreAnimation officiels du runtime
   (ipad-caml/main.caml + calques HEIC, outil root/tools/lab/render-caml-wallpaper.mjs, 2026-10-12).
   Écart moyen par canal contre la GT hors icônes : portrait 5,8, paysage 4,8 (empilement CSS précédent :
   27,6 / 21,4 ; fond iPhone : 74,6 / 70,7). Aucun pixel inventé : la recette Apple est rejouée.
   Marqueur WALL-IPAD-17. */
html.ios-form-tablet body#ios-17.ios-springboard #ios-stage {
    background-image: url(../../assets/images/vendors/apple/wallpaper/ios-17-ipad-home-portrait.webp); /* WALL-IPAD-17 */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #ios-stage {
    background-image: url(../../assets/images/vendors/apple/wallpaper/ios-17-ipad-home-landscape.webp);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

/* iPadOS : pas de point « Bibliothèque d'apps » (la bibliothèque est dans le dock) — GT portrait et paysage. */
html.ios-form-tablet body#ios-17.ios-springboard #sb-points [data-page="library"],
html.ios-form-tablet body#ios-18.ios-springboard #sb-points [data-page="library"] { display: none; }

/* Barres cellulaires de la barre d'état — présentes sur la GT iPhone 13 et iPad (simctl status_bar
   --cellularBars 4) ; le balisage existait sans style, donc invisible. */
body.ios-springboard #statusright .sb-bars {
    display: inline-flex;
    align-items: flex-end;
    gap: 1.5px;
    height: 11px;
}
body.ios-springboard #statusright .sb-bars i {
    display: block;
    width: 3px;
    border-radius: 1px;
    background: currentColor;
}
/* Dock iPadOS : pas de libellé (GT) ; pas d'indicateur d'accueil sous le springboard (GT) → stage plein. */
html.ios-form-tablet body#ios-17.ios-springboard #tableau .sb-label,
html.ios-form-tablet body#ios-18.ios-springboard #tableau .sb-label { display: none; }
html.ios-form-tablet body#ios-17.ios-springboard #ios-device > .ios-home-indicator,
html.ios-form-tablet body#ios-18.ios-springboard #ios-device > .ios-home-indicator { display: none; }
html.ios-form-tablet body#ios-17.ios-springboard #ios-stage,
html.ios-form-tablet body#ios-18.ios-springboard #ios-stage { height: 100%; }


/* ─── iPadOS 17 paysage (1180×820) — MESURÉ sur la GT iPad Air 5e gén. iOS 17.5 tournée
   (2026-10-11, nuit ; `var/tmp/ios-17-ipad-land-gt/p0-bureau/10-accueil.png`). Grille 6 colonnes,
   origine x 112 / y 38, cellule 136, pas 164 ; page 1 : Fichiers (c1,r1), Rappels (c2,r1),
   Calendrier moyen (c1-2, r2), grand « Headlines » (c3-4, r1-2), grand Rappels (c5-6, r1-2),
   Plans / News / Réglages en rangée 3. Pas de petit widget Plans ni de 2e petit en paysage (GT).
   Dock 650×94 à 21 pt du bas, icônes 60, séparateur puis 3 suggestions + Bibliothèque ;
   points de page à y 682. ─── */
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #widgets .widget-col:nth-child(1),
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-col:nth-child(1) { display: none; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #widgets .widget-col:nth-child(2),
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-col:nth-child(2) { top: 202px; left: 112px; width: 300px; height: 136px; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #widgets .widget-blank--s1,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-blank--s1 { display: none; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #widgets .widget-blank--l1,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-blank--l1 { top: 38px; left: 440px; width: 300px; height: 300px; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #widgets .widget-blank--l2,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-blank--l2 { top: 38px; left: 768px; width: 300px; height: 300px; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard .sb-page.sb-page-on,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard .sb-page.sb-page-on {
    position: absolute;
    top: 38px;
    left: 112px;
    display: grid !important;
    grid-template-columns: repeat(6, 136px);
    grid-auto-rows: 136px;
    column-gap: 28px;
    row-gap: 28px;
    width: auto;
    margin: 0;
    padding: 0;
}
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"],
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="fichiers"] { grid-row: 1; grid-column: 1; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"],
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="rappels"] { grid-row: 1; grid-column: 2; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="plans"],
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="plans"] { grid-row: 3; grid-column: 1; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="news"],
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="news"] { grid-row: 3; grid-column: 2; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard .sb-page.sb-page-on > a[data-link="settings"],
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard .sb-page.sb-page-on > a[data-link="settings"] { grid-row: 3; grid-column: 3; }
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #sb-points,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #sb-points {
    position: absolute;
    top: auto;
    bottom: 130px;
    left: 50%;
    display: flex;
    gap: 8px;
    margin: 0;
    transform: translateX(-50%);
}
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #tableau,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #tableau {
    bottom: 21px;
    width: 650px;
    height: 94px;
    border-radius: 30px;
}
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #tableau > nav,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #tableau > nav {
    gap: 16px;
    padding: 0 17px;
}
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #tableau > nav > a,
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #tableau > nav > a > img,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #tableau > nav > a,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #tableau > nav > a > img {
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}
/* Suggestions (Rappels, Plans, Raccourcis sur la GT) : clones posés par ios-ipad-home.js après un
   séparateur ; la Bibliothèque garde son trait à gauche en portrait seulement. */
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #tableau > nav > a.ios-dock-suggested--first,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #tableau > nav > a.ios-dock-suggested--first {
    margin-left: 6px;
    padding-left: 22px;
    border-left: 1px solid rgba(60, 60, 67, 0.3);
    box-sizing: content-box;
}
html.ios-form-tablet.ios-orient-landscape body#ios-17.ios-springboard #tableau > nav > #ios-al-dock,
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #tableau > nav > #ios-al-dock {
    width: 60px;
    height: 60px;
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}

/* ─── iPadOS 18 : correspondance des widgets de la peau 18 (photos / météo / calendrier) avec les
   emplacements mesurés (petit 1 = Photos, moyen = Calendrier, météo absente sur iPad). ─── */
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget-weather { display: none !important; }
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-photos { position: absolute; top: 54px; left: 96px; width: 136px; height: 136px; margin: 0; border-radius: 22px; }
html.ios-form-tablet.ios-orient-portrait body#ios-18.ios-springboard #widgets .widget-cal { position: absolute; top: 218px; left: 96px; width: 300px; height: 136px; margin: 0; border-radius: 22px; }
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-photos { display: none !important; }
html.ios-form-tablet.ios-orient-landscape body#ios-18.ios-springboard #widgets .widget-cal { position: absolute; top: 202px; left: 112px; width: 300px; height: 136px; margin: 0; border-radius: 22px; }
html.ios-form-tablet body#ios-18.ios-springboard #widgets .widget-photos .w-photos-caption { display: none; }

/* Widgets cliquables sous la grille (smoke tablette 2026-10-12) : la page d'icônes recouvre #widgets ;
   seuls ses liens reçoivent les événements. */
html.ios-form-tablet body#ios-17.ios-springboard #desktop,
html.ios-form-tablet body#ios-18.ios-springboard #desktop,
html.ios-form-tablet body#ios-17.ios-springboard .sb-page.sb-page-on,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page.sb-page-on { pointer-events: none; }
html.ios-form-tablet body#ios-17.ios-springboard .sb-page.sb-page-on > a,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page.sb-page-on > a,
html.ios-form-tablet body#ios-17.ios-springboard .sb-page.sb-page-on > .sb-folder,
html.ios-form-tablet body#ios-18.ios-springboard .sb-page.sb-page-on > .sb-folder { pointer-events: auto; }

/* ═══ Surfaces système iPadOS 17 — mesurées sur GT iPad Air 5 paysage (campagne iOS §10.11) ═══
   Spotlight (introduction, feuille claire 596×350 à y=78), Bibliothèque d'apps (accueil flouté,
   pastille « App Library » 332×44 à y=122, tuiles dossier 152 à (227,252)), Vue Aujourd'hui (colonne
   de widgets à (64,64) : 136 / 136 / 300×462 + pile). Téléphone inchangé (GT iPhone 13). */

/* Barre d'état iPadOS visible au-dessus des surfaces système (GT : heure et glyphes intacts). */
html.ios-form-tablet body.ios-springboard #iosheader {
    position: relative;
    z-index: 75;
}

/* ── Spotlight ── */
.ios-spot-mic,
.ios-spot-intro,
.ios-spot-kbd {
    display: none;
}

html.ios-form-tablet .ios-sys.is-spotlight .ios-sys__scrim {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

html.ios-form-tablet .ios-sys.is-spotlight .ios-sys__panel--spotlight {
    top: 78px;
    width: 596px;
    max-height: calc(100% - 100px);
    padding: 0;
    border-radius: 16px;
    color: #1c1c1e;
    background: rgba(252, 252, 252, 0.94);
    box-shadow: 0 12px 44px rgba(0, 0, 0, 0.22), 0 0 0 0.5px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

html.ios-form-tablet .ios-spot-bar {
    height: 61px;
    padding: 0 27px;
    gap: 0;
    border-radius: 16px 16px 0 0;
    background: #f4f4f4;
    box-shadow: 0 0.5px 0 rgba(0, 0, 0, 0.08);
}

html.ios-form-tablet .ios-spot-field {
    gap: 14px;
    padding: 0;
    background: transparent;
}

html.ios-form-tablet .ios-spot-ico {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    border: 2.6px solid #3a3a3c;
    box-shadow: 7px 7px 0 -4.2px #3a3a3c;
}

html.ios-form-tablet .ios-spot-field input {
    font-size: 23px;
    color: #1c1c1e;
    caret-color: #0a7aff;
}

html.ios-form-tablet .ios-spot-field input:focus,
html.ios-form-tablet .ios-spot-field input:focus-visible,
html.ios-form-tablet .ios-al-search input:focus,
html.ios-form-tablet .ios-al-search input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

html.ios-form-tablet .ios-spot-field input::placeholder,
html.ios-form-tablet .ios-spot-field input:focus::placeholder {
    opacity: 1;
    color: #9a9a9e;
}

html.ios-form-tablet .ios-spot-mic {
    display: block;
    flex: 0 0 auto;
    width: 16px;
    height: 24px;
    color: #3a3a3c;
}

html.ios-form-tablet .ios-spot-cancel,
html.ios-form-tablet .ios-spot-ask {
    display: none !important;
}

html.ios-form-tablet .ios-spot-intro {
    display: block;
    padding: 46px 40px 26px;
    text-align: center;
}

html.ios-form-tablet .ios-spot-intro[hidden],
html.ios-form-tablet .ios-spot-body[hidden] {
    display: none !important;
}

html.ios-form-tablet .ios-spot-intro-icons {
    display: flex;
    justify-content: center;
    gap: 22px;
    margin: 0 0 25px;
}

html.ios-form-tablet .ios-spot-intro-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 59px;
    height: 59px;
    border-radius: 50%;
    color: #4d4d4f;
    background: #e5e5e5;
}

html.ios-form-tablet .ios-spot-intro-text {
    max-width: 472px;
    margin: 0 auto 38px;
    font-size: 17px;
    line-height: 20px;
    color: #1c1c1e;
}

html.ios-form-tablet .ios-spot-intro-text a {
    color: #0a7aff;
    text-decoration: none;
}

html.ios-form-tablet .ios-spot-continue {
    height: 33px;
    margin: 0;
    padding: 0 17px;
    border: 0;
    border-radius: 9px;
    font: inherit;
    font-size: 17px;
    font-weight: 600;
    color: #0a7aff;
    background: #e2e2e2;
    cursor: pointer;
}

html.ios-form-tablet .ios-spot-body {
    padding: 8px 14px 14px;
}

html.ios-form-tablet .ios-spot-kicker,
html.ios-form-tablet .ios-spot-section,
html.ios-form-tablet .ios-spot-tip,
html.ios-form-tablet .ios-spot-hit,
html.ios-form-tablet .ios-spot-empty {
    color: #1c1c1e;
}

html.ios-form-tablet .ios-spot-kicker,
html.ios-form-tablet .ios-spot-section {
    color: #6e6e73;
}

html.ios-form-tablet .ios-spot-tip,
html.ios-form-tablet .ios-spot-hit {
    background: rgba(0, 0, 0, 0.045);
}

html.ios-form-tablet .ios-sys.is-spotlight .ios-spot-kbd {
    position: absolute;
    right: 17px;
    bottom: 23px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 22px;
    width: 116px;
    height: 45px;
    padding: 0 16px 0 14px;
    border-radius: 10px;
    color: #3a3a3c;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.14);
    box-sizing: border-box;
}

html.ios-form-tablet .ios-spot-kbd-lang {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 24px;
    border: 1.6px solid #3a3a3c;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
}

html.ios-form-tablet .ios-spot-kbd-mic {
    display: block;
    width: 14px;
    height: 21px;
}

/* ── Bibliothèque d'apps ── */
.ios-al-folders,
.ios-al-folder-scrim,
.ios-al-folder-sheet {
    display: none;
}

html.ios-form-tablet #ios-app-library {
    padding: 0;
    color: #fff;
    /* GT : accueil flouté puis assombri de 25 % (blancs mesurés à 191). */
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(40px) saturate(1.05);
    -webkit-backdrop-filter: blur(40px) saturate(1.05);
}

html.ios-form-tablet.ios-orient-portrait .ios-al-head {
    top: 346px;
}

html.ios-form-tablet.ios-orient-portrait .ios-al-folders {
    top: 474px;
    right: 64px;
    left: 64px;
    column-gap: 28px;
}

html.ios-form-tablet .ios-al-head {
    position: absolute;
    top: 122px;
    left: 50%;
    z-index: 2;
    width: 332px;
    height: 44px;
    margin: 0;
    transform: translateX(-50%);
}

html.ios-form-tablet .ios-al-head-actions {
    display: none !important;
}

html.ios-form-tablet .ios-al-search {
    justify-content: center;
    gap: 12px;
    height: 44px;
    padding: 0 20px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.3);
    box-shadow: inset 0 0 0 0.5px rgba(255, 255, 255, 0.35);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    box-sizing: border-box;
}

html.ios-form-tablet .ios-al-search-ico {
    width: 17px;
    height: 17px;
    border: 2px solid rgba(255, 255, 255, 0.95);
    box-shadow: 6px 6px 0 -3.5px rgba(255, 255, 255, 0.95);
}

html.ios-form-tablet .ios-al-search input {
    flex: 0 1 auto;
    width: 126px;
    font-size: 20px;
    color: #fff;
}

html.ios-form-tablet .ios-al-search input::placeholder,
html.ios-form-tablet .ios-al-search input:focus::placeholder {
    opacity: 1;
    color: rgba(255, 255, 255, 0.9);
}

html.ios-form-tablet .ios-al-calface {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 58px;
    height: 58px;
    padding-top: 6px;
    border-radius: 13px;
    color: #1c1c1e;
    background: #fff;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-al-calface b {
    font-size: 9px;
    font-weight: 700;
    line-height: 10px;
    letter-spacing: 0.02em;
    color: #ff3b30;
}

html.ios-form-tablet .ios-al-calface em {
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 32px;
    letter-spacing: -0.03em;
}

html.ios-form-tablet .ios-al-calface--mini {
    width: 24px;
    height: 24px;
    padding-top: 2px;
    border-radius: 5.5px;
}

html.ios-form-tablet .ios-al-calface--mini b {
    font-size: 4px;
    line-height: 5px;
}

html.ios-form-tablet .ios-al-calface--mini em {
    font-size: 13px;
    line-height: 14px;
}

html.ios-form-tablet .ios-al-body {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

html.ios-form-tablet .ios-al-folders {
    position: absolute;
    top: 252px;
    right: 96px;
    bottom: 0;
    left: 227px;
    display: grid;
    grid-template-columns: repeat(auto-fill, 152px);
    grid-auto-rows: max-content;
    column-gap: 64px;
    row-gap: 40px;
    overflow: auto;
}

html.ios-form-tablet .ios-al-folder {
    width: 152px;
}

html.ios-form-tablet .ios-al-folder-tile {
    display: grid;
    grid-template-columns: 58px 58px;
    grid-auto-rows: 58px;
    gap: 12px;
    width: 152px;
    height: 152px;
    padding: 12px;
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.64);
    box-sizing: border-box;
    cursor: pointer;
}

html.ios-form-tablet .ios-al-big {
    display: block;
    width: 58px;
    height: 58px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

html.ios-form-tablet .ios-al-big img,
html.ios-form-tablet .ios-al-big .ios-al-fallback {
    display: block;
    width: 58px;
    height: 58px;
    border-radius: 13px;
}

html.ios-form-tablet .ios-al-mini {
    display: grid;
    grid-template-columns: 24px 24px;
    grid-auto-rows: 24px;
    gap: 6px;
    width: 58px;
    height: 58px;
    padding: 2px;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-al-mini img,
html.ios-form-tablet .ios-al-mini i {
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 5.5px;
    background: rgba(255, 255, 255, 0.4);
}

html.ios-form-tablet .ios-al-folder-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    margin: 6px 0 0;
    font-size: 14px;
    font-weight: 600;
    line-height: 17px;
    color: #fff;
    text-shadow: 0 0.5px 3px rgba(0, 0, 0, 0.25);
}

html.ios-form-tablet .ios-al--folder-open .ios-al-folder-scrim {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: block;
}

html.ios-form-tablet .ios-al--folder-open .ios-al-folder-sheet {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 4;
    display: block;
    width: 560px;
    padding: 22px 28px 28px;
    border-radius: 36px;
    color: #fff;
    background: rgba(255, 255, 255, 0.32);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
    transform: translate(-50%, -50%);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    box-sizing: border-box;
}

html.ios-form-tablet .ios-al-folder-sheet-title {
    margin: 0 0 18px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
}

html.ios-form-tablet .ios-al-folder-sheet-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px 12px;
}

html.ios-form-tablet .ios-al-folder-sheet .ios-al-app img,
html.ios-form-tablet .ios-al-folder-sheet .ios-al-app .ios-al-fallback {
    width: 58px;
    height: 58px;
    border-radius: 13px;
}

html.ios-form-tablet .ios-al-folder-sheet .ios-al-app {
    font-size: 12px;
    color: #fff;
}

html.ios-form-tablet .ios-al-alpha {
    position: absolute;
    top: 182px;
    left: 50%;
    width: 596px;
    max-height: calc(100% - 210px);
    padding: 8px;
    border-radius: 16px;
    color: #1c1c1e;
    background: rgba(255, 255, 255, 0.82);
    transform: translateX(-50%);
    overflow: auto;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-al-alpha .ios-al-letter {
    color: #6e6e73;
}

html.ios-form-tablet .ios-al-alpha .ios-al-app {
    flex-direction: row;
    gap: 12px;
    padding: 6px 10px;
    font-size: 17px;
    color: #1c1c1e;
}

html.ios-form-tablet .ios-al-alpha .ios-al-app img,
html.ios-form-tablet .ios-al-alpha .ios-al-app .ios-al-fallback {
    width: 40px;
    height: 40px;
    border-radius: 9px;
}

html.ios-form-tablet .ios-al-alpha .ios-al-empty {
    padding: 14px;
    color: #6e6e73;
    text-align: center;
}

html.ios-form-tablet.ios-al-open body.ios-springboard #tableau,
html.ios-form-tablet.ios-al-open body.ios-springboard #sb-points,
html.ios-form-tablet.ios-today-open body.ios-springboard #tableau,
html.ios-form-tablet.ios-today-open body.ios-springboard #sb-points {
    visibility: hidden;
}

/* ── Vue Aujourd'hui ── */
.ios-today-ipad {
    display: none;
}

/* GT iPad Air 5 : le fond de la Vue Aujourd'hui est un matériau opaque mesuré, indépendant du contenu de
   l'accueil — portrait : gris-vert sombre (≈ 95/120/118) jusqu'à y≈790 puis gris clair (≈ 184/186/184) ;
   paysage : gris clair (≈ 191) avec une bande verte floue vers x≈440–520. */
html.ios-form-tablet .ios-today-scrim {
    background: linear-gradient(180deg, #536665 0, #6c8286 25%, #617674 42%, #5f7c76 59%, #b6b3b2 72%, #b8bab8 85%, #babdbb 100%);
    backdrop-filter: blur(50px) saturate(0.3);
    -webkit-backdrop-filter: blur(50px) saturate(0.3);
}

html.ios-form-tablet.ios-orient-landscape .ios-today-scrim {
    background: linear-gradient(90deg, #d2d2d2 0, #c6c6c6 300px, #b7b7b7 420px, #6a7a52 460px, #66774f 500px, #a9aba3 540px, #bfbfbf 620px, #bfbfbf 100%);
}

html.ios-form-tablet .ios-today-panel {
    display: none !important;
}

html.ios-form-tablet .ios-today-ipad {
    position: absolute;
    top: 64px;
    left: 64px;
    z-index: 1;
    display: block;
    width: 300px;
    height: 1051px;
}

html.ios-form-tablet .ios-tw2 {
    position: absolute;
    margin: 0;
    padding: 0;
    border-radius: 22px;
    color: #1c1c1e;
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
}

html.ios-form-tablet .ios-tw2--cal {
    top: 0;
    left: 0;
    width: 136px;
    height: 136px;
    padding: 14px 14px 0;
}

html.ios-form-tablet .ios-tw2-dow {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    line-height: 13px;
    letter-spacing: 0.02em;
    color: #ff3b30;
}

html.ios-form-tablet .ios-tw2-dom {
    margin: 0;
    font-size: 34px;
    font-weight: 300;
    line-height: 32px;
    letter-spacing: -0.02em;
}

html.ios-form-tablet .ios-tw2-empty {
    margin: 22px 0 0;
    font-size: 16.5px;
    line-height: 20px;
    letter-spacing: -0.02em;
    white-space: nowrap;
    color: #8e8e93;
}

html.ios-form-tablet .ios-tw2--battery {
    top: 0;
    left: 164px;
    width: 136px;
    height: 136px;
    padding: 0 0 0 14px;
    background: #f4f4f4;
}

html.ios-form-tablet .ios-tw2-ring {
    position: absolute;
    top: 11px;
    left: 11px;
    display: block;
    width: 52px;
    height: 52px;
    border: 5px solid #34c759;
    border-radius: 50%;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-tw2-batt {
    position: absolute;
    top: 88px;
    left: 14px;
    margin: 0;
    font-size: 34px;
    font-weight: 400;
    line-height: 36px;
    letter-spacing: -0.02em;
}

html.ios-form-tablet .ios-tw2--news {
    top: 164px;
    left: 0;
    width: 300px;
    height: 463px;
    padding: 12px 14px 0;
}

html.ios-form-tablet .ios-tw2-news-title {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    letter-spacing: -0.01em;
}

html.ios-form-tablet .ios-tw2-news-row {
    position: relative;
    display: block;
    width: 272px;
    height: 71px;
}

html.ios-form-tablet .ios-tw2-news-row i {
    position: absolute;
    left: 0;
    display: block;
    width: 207px;
    height: 8px;
    border-radius: 2px;
    background: #d9d9d9;
}

html.ios-form-tablet .ios-tw2-news-row i.k { top: 3px; width: 40px; height: 7px; }
html.ios-form-tablet .ios-tw2-news-row i:nth-child(2) { top: 14px; }
html.ios-form-tablet .ios-tw2-news-row i:nth-child(3) { top: 28px; }
html.ios-form-tablet .ios-tw2-news-row i:nth-child(4) { top: 42px; }

html.ios-form-tablet .ios-tw2-news-row b {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 10px;
    background: #d9d9d9;
}

html.ios-form-tablet .ios-tw2-news-empty {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    margin: 0;
    font-size: 17px;
    line-height: 20px;
    text-align: center;
    color: #6e6e73;
}

html.ios-form-tablet .ios-tw2--maps {
    top: 656px;
    left: 0;
    width: 300px;
    height: 136px;
    background: #e2efd3;
}

html.ios-form-tablet .ios-tw2-maps-btn {
    position: absolute;
    top: 57px;
    left: 7px;
    display: block;
    width: 72px;
    height: 72px;
    border-radius: 14px;
    background: #fbfbfb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

html.ios-form-tablet .ios-tw2-maps-btn i {
    position: absolute;
    top: 14px;
    left: 14px;
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #969696;
}

html.ios-form-tablet .ios-tw2-maps-btn i::before {
    position: absolute;
    top: 13px;
    left: 13px;
    width: 13px;
    height: 13px;
    border: 2.4px solid #fff;
    border-radius: 50%;
    content: "";
    box-sizing: border-box;
}

html.ios-form-tablet .ios-tw2-maps-btn i::after {
    position: absolute;
    top: 25px;
    left: 24px;
    width: 8px;
    height: 2.4px;
    content: "";
    background: #fff;
    transform: rotate(45deg);
}

html.ios-form-tablet .ios-tw2--screen {
    top: 820px;
    left: 0;
    width: 300px;
    height: 231px;
    padding: 14px 14px 0;
    overflow: hidden;
}

html.ios-form-tablet .ios-tw2-screen-text {
    margin: 0 0 8px;
    font-size: 13px;
    line-height: 16px;
    color: #8e8e93;
}

html.ios-form-tablet .ios-tw2-chart {
    position: relative;
    width: 248px;
    height: 84px;
    border-top: 0.5px solid rgba(60, 60, 67, 0.24);
    border-bottom: 0.5px solid rgba(60, 60, 67, 0.24);
    background:
        linear-gradient(to right, rgba(60, 60, 67, 0.24) 0.5px, transparent 0.5px) 0 0 / 25% 100% repeat-x,
        linear-gradient(rgba(60, 60, 67, 0.24) 0.5px, transparent 0.5px) 0 50% / 100% 100% no-repeat;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-tw2-chart-y,
html.ios-form-tablet .ios-tw2-chart-x {
    position: absolute;
    font-size: 11px;
    line-height: 12px;
    color: #8e8e93;
    transform: translateY(-50%);
}

html.ios-form-tablet .ios-tw2-chart-y { right: -30px; }
html.ios-form-tablet .ios-tw2-chart-x { top: 100%; margin: 10px 0 0 6px; transform: none; }

html.ios-form-tablet .ios-tw2-dashes {
    display: flex;
    justify-content: space-between;
    width: 272px;
    margin: 24px 0 0;
    font-size: 12px;
    line-height: 14px;
    color: #8e8e93;
}

html.ios-form-tablet .ios-tw2-screen-band {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 0;
    height: 111px;
    padding: 14px 14px 0;
    background: #f2f2f7;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-tw2-screen-band span {
    position: relative;
    display: block;
    height: 30px;
    padding-left: 34px;
    font-size: 12px;
    line-height: 14px;
    color: #8e8e93;
}

html.ios-form-tablet .ios-tw2-screen-band i {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 26px;
    height: 26px;
    border-radius: 6px;
    background: #e3e3e8;
}

html.ios-form-tablet .ios-tw2-screen-band b,
html.ios-form-tablet .ios-tw2-screen-band em {
    display: block;
    font-style: normal;
    font-weight: 400;
}

html.ios-form-tablet .ios-tw2-screen-band em { color: #c7c7cc; }

/* ── Spotlight iPad : suggestions (GT 17-spotlight-suggestions — feuille 596×210, 6 icônes 60 pas 94) ── */
.ios-spot-more,
.ios-al-cancel,
.ios-al-homebar,
.ios-al-kbd,
.ios-al-index {
    display: none;
}

html.ios-form-tablet .ios-spot-body {
    padding: 14px 18px 17px;
}

html.ios-form-tablet .ios-spot-kicker {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: none;
    color: #1c1c1e;
}

html.ios-form-tablet .ios-spot-more {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 17px;
    font-weight: 400;
    color: #666;
    cursor: pointer;
}

html.ios-form-tablet .ios-spot-results--ipad {
    margin: 19px 0 0 -3px;
}

html.ios-form-tablet .ios-spot-sugrow {
    display: grid;
    grid-template-columns: repeat(6, 94px);
    row-gap: 14px;
    list-style: none;
}

html.ios-form-tablet .ios-spot-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 94px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 13px;
    line-height: 14px;
    color: #1c1c1e;
    cursor: pointer;
}

html.ios-form-tablet .ios-spot-tile img,
html.ios-form-tablet .ios-spot-tile .cal-face,
html.ios-form-tablet .ios-spot-tile .phone-face,
html.ios-form-tablet .ios-spot-tile .shell-face,
html.ios-form-tablet .ios-spot-tile .ios-spot-glyph {
    display: block;
    width: 60px !important;
    height: 60px !important;
    border-radius: 13.5px !important;
    box-shadow: none !important;
}

html.ios-form-tablet .ios-spot-tile .cal-face { padding-top: 6px !important; box-sizing: border-box; }
html.ios-form-tablet .ios-spot-tile .cal-dow { font-size: 10px !important; }
html.ios-form-tablet .ios-spot-tile .cal-dom { font-size: 30px !important; line-height: 32px !important; margin-top: 0 !important; }

html.ios-form-tablet .ios-spot-tile span {
    margin-top: 5px;
}

/* ── Bibliothèque iPad : dossier déplié (GT 18 — titre à (177,277), 6 colonnes pas 154, rangées pas 115) ── */
html.ios-form-tablet .ios-al--folder-open .ios-al-head,
html.ios-form-tablet .ios-al--folder-open .ios-al-folders {
    display: none;
}

html.ios-form-tablet .ios-al--folder-open .ios-al-folder-sheet {
    position: absolute;
    inset: 0;
    display: block;
    width: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}

html.ios-form-tablet .ios-al-folder-sheet-title {
    position: absolute;
    top: 264px;
    left: 177px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 22px;
    font-weight: 700;
    line-height: 26px;
    text-align: left;
    color: #fff;
}

html.ios-form-tablet .ios-al-folder-sheet-grid {
    position: absolute;
    top: 362px;
    left: 175px;
    display: grid;
    grid-template-columns: repeat(6, 60px);
    grid-auto-rows: 60px;
    column-gap: 94px;
    row-gap: 55px;
}

html.ios-form-tablet .ios-al-folder-sheet .ios-al-app {
    width: 60px;
    padding: 0;
    overflow: visible;
    font-size: 14px;
    line-height: 17px;
    color: #fff;
}

html.ios-form-tablet .ios-al-folder-sheet .ios-al-app img,
html.ios-form-tablet .ios-al-folder-sheet .ios-al-app .ios-al-fallback,
html.ios-form-tablet .ios-al-folder-sheet .ios-al-app .ios-al-calface {
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}

html.ios-form-tablet .ios-al-folder-sheet .ios-al-app span {
    max-width: none;
    margin-top: 6px;
    overflow: visible;
}

html.ios-form-tablet .ios-al--folder-open .ios-al-homebar,
html.ios-form-tablet .ios-al--searching .ios-al-homebar {
    position: absolute;
    bottom: 8px;
    left: 50%;
    display: block;
    width: 312px;
    height: 6px;
    border-radius: 3px;
    background: #fff;
    transform: translateX(-50%);
}

/* ── Bibliothèque iPad : recherche (GT 19 — pastille 483×47 à (312,60), liste 554 à (313,132), rangées 72) ── */
html.ios-form-tablet .ios-al--searching .ios-al-head {
    top: 60px;
    left: 312px;
    width: 556px;
    height: 47px;
    transform: none;
}

html.ios-form-tablet .ios-al--searching .ios-al-search {
    flex: 0 0 483px;
    justify-content: flex-start;
    gap: 12px;
    width: 483px;
    height: 47px;
    padding: 0 18px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: none;
}

html.ios-form-tablet .ios-al--searching .ios-al-search-ico {
    border-color: #8e8e93;
    box-shadow: 6px 6px 0 -3.5px #8e8e93;
}

html.ios-form-tablet .ios-al--searching .ios-al-search input {
    flex: 1 1 auto;
    width: auto;
    font-size: 17px;
    color: #1c1c1e;
}

html.ios-form-tablet .ios-al--searching .ios-al-search input::placeholder,
html.ios-form-tablet .ios-al--searching .ios-al-search input:focus::placeholder {
    color: #8e8e93;
}

html.ios-form-tablet .ios-al--searching .ios-al-cancel {
    display: block;
    flex: 0 0 auto;
    margin: 0 0 0 20px;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 17px;
    color: #fff;
    cursor: pointer;
}

html.ios-form-tablet .ios-al--searching .ios-al-folders {
    display: none;
}

html.ios-form-tablet .ios-al--searching .ios-al-alpha {
    top: 132px;
    left: 313px;
    width: 554px;
    max-height: 638px;
    padding: 0 0 0 0;
    border-radius: 16px;
    color: #fff;
    background: rgba(255, 255, 255, 0.42); /* GT 19 : feuille claire (≈ 198/146/89 sur fond 143/91/31) */
    transform: none;
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    gap: 0;
}

html.ios-form-tablet .ios-al--searching .ios-al-alpha .ios-al-letter {
    display: none;
}

html.ios-form-tablet .ios-al--searching .ios-al-alpha li {
    position: relative;
}

html.ios-form-tablet .ios-al--searching .ios-al-alpha li + li::before {
    position: absolute;
    top: 0;
    right: 29px;
    left: 80px;
    height: 0.5px;
    content: "";
    background: rgba(255, 255, 255, 0.35);
}

html.ios-form-tablet .ios-al--searching .ios-al-alpha .ios-al-app {
    gap: 17px;
    height: 72px;
    padding: 0 0 0 15px;
    border-radius: 0;
    font-size: 17px;
    color: #fff;
}

html.ios-form-tablet .ios-al--searching .ios-al-alpha .ios-al-app img,
html.ios-form-tablet .ios-al--searching .ios-al-alpha .ios-al-app .ios-al-fallback,
html.ios-form-tablet .ios-al--searching .ios-al-alpha .ios-al-app .ios-al-calface {
    width: 48px;
    height: 48px;
    border-radius: 11px;
}

html.ios-form-tablet .ios-al--searching .ios-al-index {
    position: absolute;
    top: 164px;
    left: 847px;
    display: block;
    width: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 11px;
    font-weight: 700;
    line-height: 23px;
    text-align: center;
    color: #fff;
}

html.ios-form-tablet .ios-al--searching .ios-al-index .dot {
    font-size: 7px;
}

html.ios-form-tablet .ios-al--searching .ios-al-kbd {
    position: absolute;
    right: 17px;
    bottom: 21px;
    display: flex;
    align-items: center;
    gap: 22px;
    width: 116px;
    height: 49px;
    padding: 0 16px 0 14px;
    border-radius: 10px;
    color: #fff;
    background: rgba(28, 28, 30, 0.82);
    box-sizing: border-box;
}

html.ios-form-tablet .ios-al--searching .ios-al-kbd b {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 24px;
    border: 1.6px solid #fff;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
}

html.ios-form-tablet.ios-al-open body.ios-springboard #iosheader {
    z-index: 75;
}

html.ios-form-tablet .ios-spot-calface {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 60px;
    height: 60px;
    padding-top: 6px;
    border-radius: 13.5px;
    color: #1c1c1e;
    background: #fff;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-spot-calface b {
    font-size: 9px;
    font-weight: 700;
    line-height: 10px;
    letter-spacing: 0.02em;
    color: #ff3b30;
}

html.ios-form-tablet .ios-spot-calface em {
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 32px;
    letter-spacing: -0.03em;
}

/* GT 19 : en recherche, l'accueil flouté est assombri une seconde fois (≈ ×0,74 → 0,56 au total). */
html.ios-form-tablet #ios-app-library.ios-al--searching {
    background: rgba(0, 0, 0, 0.44);
}

/* ── Accueil page 2 (GT 21) — profil GT : seules Contacts, Shortcuts, Health ── */
html.ios-form-tablet.ios-data-gt body#ios-17.ios-springboard #desktop .sb-page:nth-child(2) > a[data-link]:not([data-link="contacts"]):not([data-link="raccourcis"]):not([data-link="sante"]) {
    display: none;
}

/* ── Actions rapides iPad (GT 22 — menu 250×130 à 4 pt à gauche / 13 pt sous l'icône, accueil −20 %) ── */
.ios-qa-scrim,
.ios-qa-lift {
    display: none;
}

html.ios-form-tablet .ios-qa-scrim {
    position: absolute;
    inset: 0;
    z-index: 64;
    display: block;
    background: rgba(0, 0, 0, 0.2);
}

html.ios-form-tablet .ios-qa-lift {
    position: absolute;
    z-index: 65;
    display: block;
    border-radius: 15px;
    object-fit: cover;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

html.ios-form-tablet #ios-quick-actions {
    width: 250px;
    padding: 0;
    border-radius: 13px;
    background: rgba(250, 252, 252, 0.96);
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.1), 0 10px 30px rgba(0, 0, 0, 0.2);
}

html.ios-form-tablet .ios-qa-title {
    display: none;
}

html.ios-form-tablet .ios-qa-list li + li {
    border-top: 1px solid rgba(60, 60, 67, 0.22);
}

html.ios-form-tablet .ios-qa-list button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 43px;
    padding: 0 18px 0 15px;
    font-size: 17px;
    font-weight: 400;
    color: #1c1c1e;
}

html.ios-form-tablet .ios-qa-list button.ios-qa-danger {
    color: #ff3b30;
}

html.ios-form-tablet .ios-qa-list svg {
    flex: 0 0 20px;
}

/* ── Spotlight iPad : résultats (GT 20 — « se ») ── */
.ios-spot-complete,
.ios-spot-chip,
.ios-spot-clear {
    display: none;
}

html.ios-form-tablet .ios-sys.is-spotlight .ios-sys__panel--spotlight {
    max-height: 659px;
}

html.ios-form-tablet .ios-spot-field {
    position: relative;
}

html.ios-form-tablet .ios-spot-field input.is-completed {
    color: transparent;
    caret-color: transparent;
}

html.ios-form-tablet .ios-spot-complete {
    position: absolute;
    top: 50%;
    left: 36px;
    display: block;
    font-size: 23px;
    line-height: 28px;
    white-space: nowrap;
    color: #1c1c1e;
    transform: translateY(-50%);
    pointer-events: none;
}

html.ios-form-tablet .ios-spot-complete[hidden] {
    display: none;
}

html.ios-form-tablet .ios-spot-complete b {
    font-weight: 400;
}

html.ios-form-tablet .ios-spot-complete mark {
    padding: 3px 4px 3px 0;
    border-radius: 0 6px 6px 0;
    color: #1c1c1e;
    background: #e3e3e3;
}

html.ios-form-tablet .ios-spot-complete mark i {
    font-style: normal;
    color: #8e8e93;
}

html.ios-form-tablet .ios-spot-chip {
    display: block;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    margin-left: 14px;
    border-radius: 7px;
    overflow: hidden;
    box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.35);
}

html.ios-form-tablet .ios-spot-chip[hidden] {
    display: none;
}

html.ios-form-tablet .ios-spot-chip img {
    display: block;
    width: 28px;
    height: 28px;
}

html.ios-form-tablet .ios-spot-clear {
    position: relative;
    display: block;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-left: 16px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #8e8e93;
    cursor: pointer;
}

html.ios-form-tablet .ios-spot-clear[hidden] {
    display: none;
}

html.ios-form-tablet .ios-spot-clear::before,
html.ios-form-tablet .ios-spot-clear::after {
    position: absolute;
    top: 10px;
    left: 5px;
    width: 12px;
    height: 2px;
    content: "";
    background: #fff;
    transform: rotate(45deg);
}

html.ios-form-tablet .ios-spot-clear::after {
    transform: rotate(-45deg);
}

html.ios-form-tablet .ios-sys__panel--spotlight.is-typing .ios-spot-mic {
    display: none;
}

html.ios-form-tablet .ios-spot-tile--top {
    position: relative;
}

html.ios-form-tablet .ios-spot-tile--top::before {
    position: absolute;
    top: -3px;
    left: 14px;
    width: 66px;
    height: 66px;
    border-radius: 16px;
    content: "";
    box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

html.ios-form-tablet .ios-spot-section--ipad {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 27px 0 6px 3px;
    padding: 0;
    font-size: 17px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: none;
    color: #1c1c1e;
}

html.ios-form-tablet .ios-spot-inapp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 400;
}

html.ios-form-tablet .ios-spot-inapp i {
    display: block;
    width: 12px;
    height: 12px;
    border: 1.5px solid #1c1c1e;
    border-radius: 2px;
    box-sizing: border-box;
}

html.ios-form-tablet .ios-spot-web {
    position: relative;
    margin: 0 -18px 0 3px;
    list-style: none;
}

html.ios-form-tablet .ios-spot-web::after,
html.ios-form-tablet .ios-spot-panel::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 39px;
    height: 0.5px;
    content: "";
    background: rgba(60, 60, 67, 0.25);
}

html.ios-form-tablet .ios-spot-webrow {
    display: flex;
    align-items: center;
    gap: 13px;
    width: 100%;
    height: 57px;
    margin: 0;
    padding: 0 21px 0 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 17px;
    color: #1c1c1e;
    text-align: left;
    cursor: pointer;
}

html.ios-form-tablet .ios-spot-webrow b {
    font-weight: 600;
}

html.ios-form-tablet .ios-spot-webico {
    position: relative;
    display: block;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
}

html.ios-form-tablet .ios-spot-webico::before {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 14px;
    height: 14px;
    border: 2px solid #8e8e93;
    border-radius: 50%;
    content: "";
    box-sizing: border-box;
}

html.ios-form-tablet .ios-spot-webico::after {
    position: absolute;
    top: 17px;
    left: 16px;
    width: 7px;
    height: 2px;
    content: "";
    background: #8e8e93;
    transform: rotate(45deg);
}

html.ios-form-tablet .ios-spot-webico--safari {
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, #fff 0 34%, #1c8cf5 35% 100%);
}

html.ios-form-tablet .ios-spot-webico--safari::before {
    top: 6px;
    left: 6px;
    width: 14px;
    height: 14px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(135deg, #ff3b30 0 50%, #fff 50% 100%);
    transform: rotate(-20deg) scale(0.5, 1);
}

html.ios-form-tablet .ios-spot-webico--safari::after {
    display: none;
}

html.ios-form-tablet .ios-spot-arrow {
    position: relative;
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-left: auto;
}

html.ios-form-tablet .ios-spot-arrow::before {
    position: absolute;
    top: 7px;
    left: 1px;
    width: 14px;
    height: 2px;
    content: "";
    background: #8e8e93;
    transform: rotate(-45deg);
}

html.ios-form-tablet .ios-spot-arrow::after {
    position: absolute;
    top: 2px;
    right: 1px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #8e8e93;
    border-right: 2px solid #8e8e93;
    content: "";
}

html.ios-form-tablet .ios-spot-panel {
    position: relative;
    margin: 0 -18px 0 0;
    list-style: none;
}

html.ios-form-tablet .ios-spot-panel::after {
    left: 74px;
}

html.ios-form-tablet .ios-spot-panelrow {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    margin: 0;
    padding: 15px 0 21px;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 17px;
    font-weight: 600;
    color: #1c1c1e;
    text-align: left;
    cursor: pointer;
}

html.ios-form-tablet .ios-spot-panelrow img,
html.ios-form-tablet .ios-spot-panelrow .ios-spot-glyph {
    display: block;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}

html.ios-form-tablet .ios-spot-section--ipad + .ios-spot-panel {
    margin-top: 2px;
}

/* Pas de croix native Chromium dans les champs de recherche iPad (la GT a sa propre pastille ×). */
html.ios-form-tablet .ios-spot-field input::-webkit-search-cancel-button,
html.ios-form-tablet .ios-al-search input::-webkit-search-cancel-button {
    display: none;
    -webkit-appearance: none;
}

html.ios-form-tablet .ios-spot-webtxt {
    flex: 1 1 auto;
    min-width: 0;
}

/* Page 2 (GT 21) : pas de widgets — seules les icônes. */
html.ios-form-tablet body.ios-springboard:has(#desktop .sb-page:nth-child(2).sb-page-on) #widgets {
    display: none;
}

html.ios-form-tablet #desktop a.ios-qa-held .sb-label {
    visibility: hidden;
}

/* ── Accueil en modification iPad (GT 23 — « + » 60×26 à (16,16), « Done » à droite, badges − 24 à −10, pastille de pages 74×43) ── */
#ios-home-edit-plus {
    display: none;
}

html.ios-form-tablet #ios-home-edit-bar {
    top: 16px;
    right: 16px;
    left: 16px;
    display: block;
    transform: none;
}

html.ios-form-tablet .ios-home-edit-actions {
    display: flex;
    justify-content: space-between;
    gap: 0;
}

html.ios-form-tablet #ios-home-edit-wallpaper,
html.ios-form-tablet .ios-home-edit-hint {
    display: none;
}

html.ios-form-tablet #ios-home-edit-plus,
html.ios-form-tablet #ios-home-edit-done {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 26px;
    margin: 0;
    padding: 0 12px;
    border: 0;
    border-radius: 13px;
    font: inherit;
    font-size: 17px;
    font-weight: 600;
    color: #1c1c1e;
    background: rgba(255, 255, 255, 0.72);
    box-shadow: none;
    cursor: pointer;
}

html.ios-form-tablet #ios-home-edit-plus {
    width: 60px;
    padding: 0;
    font-size: 22px;
    font-weight: 400;
    color: #5a5a5e;
}

html.ios-form-tablet .ios-sb-remove {
    top: -10px;
    left: calc(50% - 40px);
    width: 24px;
    height: 24px;
    font-size: 18px;
    font-weight: 400;
    color: #b0b0b0;
    background: rgba(39, 39, 39, 0.96);
}

html.ios-form-tablet #tableau a[data-link] {
    position: relative;
}

html.ios-form-tablet #tableau .ios-sb-remove {
    top: -10px;
    left: -10px;
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #widgets .widget-col::before {
    position: absolute;
    top: -10px;
    left: -10px;
    z-index: 3;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #b0b0b0;
    background: rgba(39, 39, 39, 0.96);
    content: "\2212";
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #sb-points {
    width: 74px;
    height: 43px;
    margin-left: -37px;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    justify-content: center;
    align-items: center;
    gap: 10px;
    box-sizing: border-box;
}

/* Jiggle iPad (GT 23) : pas de barre d'état ; badges − sur tous les widgets ; pastille de pages centrée à y≈687. */
html.ios-form-tablet.ios-home-editing body.ios-springboard #iosheader {
    visibility: hidden;
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #widgets .widget-col::before {
    display: none;
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #widgets .widget::before {
    position: absolute;
    top: -10px;
    left: -10px;
    z-index: 3;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #b0b0b0;
    background: rgba(39, 39, 39, 0.96);
    content: "\2212";
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #widgets .widget {
    position: relative;
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #widgets .widget-col .widget {
    position: absolute;
}

html.ios-form-tablet.ios-home-editing.ios-orient-landscape body#ios-17.ios-springboard #sb-points,
html.ios-form-tablet.ios-home-editing.ios-orient-landscape body#ios-18.ios-springboard #sb-points,
html.ios-form-tablet.ios-home-editing.ios-orient-portrait body#ios-17.ios-springboard #sb-points,
html.ios-form-tablet.ios-home-editing.ios-orient-portrait body#ios-18.ios-springboard #sb-points {
    bottom: 111px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: 74px;
    height: 43px;
    margin: 0;
    padding: 0;
    border-radius: 22px;
    background: rgba(255, 255, 255, 0.72);
    box-sizing: border-box;
}

html.ios-form-tablet.ios-home-editing body.ios-springboard #widgets .widget::before {
    display: none;
}

html.ios-form-tablet body.ios-springboard #widgets {
    position: absolute;
}

html.ios-form-tablet .ios-widget-remove {
    position: absolute;
    z-index: 3;
    display: block;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
    color: #b0b0b0;
    background: rgba(39, 39, 39, 0.96);
}

html.ios-form-tablet .ios-widget-stackdots {
    position: absolute;
    z-index: 3;
    display: flex;
    flex-direction: column;
    gap: 5px;
    width: 6px;
}

html.ios-form-tablet .ios-widget-stackdots i {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.85);
}

/* ── Portrait iPad : mêmes surfaces, géométrie GT portrait (2026-10-12) ── */
html.ios-form-tablet.ios-orient-portrait .ios-sys.is-spotlight .ios-sys__panel--spotlight {
    max-height: calc(100% - 203px); /* GT 20 portrait : feuille y=80…1057 */
}

html.ios-form-tablet.ios-orient-portrait .ios-al--searching .ios-al-head {
    top: 90px;
    left: 132px;
}

html.ios-form-tablet.ios-orient-portrait .ios-al--searching .ios-al-alpha {
    top: 162px;
    left: 133px;
    max-height: calc(100% - 242px);
}

html.ios-form-tablet.ios-orient-portrait .ios-al--searching .ios-al-index {
    top: 194px;
    left: 667px;
}

html.ios-form-tablet.ios-orient-portrait .ios-al--folder-open .ios-al-homebar,
html.ios-form-tablet.ios-orient-portrait .ios-al--searching .ios-al-homebar {
    width: 270px;
}

html.ios-form-tablet.ios-home-editing.ios-orient-portrait body#ios-17.ios-springboard #sb-points,
html.ios-form-tablet.ios-home-editing.ios-orient-portrait body#ios-18.ios-springboard #sb-points {
    bottom: 123px;
    width: 54px;
    height: 39px;
    border-radius: 20px;
}

html.ios-form-tablet .ios-spot-glyph--silent {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #8e8e93;
}

html.ios-form-tablet .ios-spot-toggle {
    display: block;
    flex: 0 0 51px;
    width: 51px;
    height: 31px;
    margin-left: auto;
    border-radius: 16px;
    background: #e9e9eb;
    position: relative;
}

html.ios-form-tablet .ios-spot-toggle::after {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    content: "";
    background: #fff;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

html.ios-form-tablet .ios-spot-panel--inapp .ios-spot-panelrow {
    padding: 12px 0 14px;
}

html.ios-form-tablet .ios-spot-panelrow .ios-spot-inapp-ico {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 7px;
}

/* Résultats Spotlight iPad : la feuille (max-height mesurée) fait défiler, pas le corps. */
html.ios-form-tablet .ios-spot-body {
    max-height: none;
    overflow: visible;
}

/* Portrait GT 19 : liste de hauteur fixe 938 (y=162…1100), index A–Z complet à x≈672 de y=314 ; GT 18 :
   titre « System » à (132,443), grille 6 colonnes pas 114 depuis (96,550). */
html.ios-form-tablet.ios-orient-portrait .ios-al--searching .ios-al-alpha {
    height: 938px;
    max-height: 938px;
}

html.ios-form-tablet.ios-orient-portrait .ios-al--searching .ios-al-index {
    top: 314px;
    left: 666px;
}

html.ios-form-tablet.ios-orient-portrait .ios-al-folder-sheet-title {
    top: 443px;
    left: 132px;
}

html.ios-form-tablet.ios-orient-portrait .ios-al-folder-sheet-grid {
    top: 550px;
    left: 96px;
    column-gap: 54px;
    row-gap: 54px;
}

/* ═══ iPhone 13 iOS 17 — actions rapides, accueil en modification, page 2 (GT 22, 23, 21 du 2026-10-12) ═══ */
#ios-quick-actions .ios-qa-list + .ios-qa-list {
    margin-top: 9px; /* deux cartes (actions de l'app · système), GT iPhone : 477 → 486 */
}

html.ios-form-tablet #ios-quick-actions,
html.ios-form-phone #ios-quick-actions {
    padding: 0;
    background: transparent;
    box-shadow: none;
}

html.ios-form-tablet #ios-quick-actions .ios-qa-list,
html.ios-form-phone #ios-quick-actions .ios-qa-list {
    border-radius: 13px;
    background: rgba(250, 252, 252, 0.96);
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.1), 0 10px 30px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

html.ios-form-phone #ios-quick-actions {
    width: 250px;
}

html.ios-form-phone .ios-qa-title {
    display: none;
}

html.ios-form-phone .ios-qa-list li + li {
    border-top: 1px solid rgba(60, 60, 67, 0.22);
}

html.ios-form-phone .ios-qa-list button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 43px;
    padding: 0 16px 0 15px;
    font-size: 17px;
    font-weight: 400;
    color: #1c1c1e;
}

html.ios-form-phone .ios-qa-list button.ios-qa-danger {
    color: #ff3b30;
}

html.ios-form-phone .ios-qa-list svg {
    flex: 0 0 20px;
}

/* iPhone : l'accueil est flouté derrière le menu (GT 22) ; iPad : seulement assombri. */
html.ios-form-phone .ios-qa-scrim {
    position: absolute;
    inset: 0;
    z-index: 64;
    display: block;
    background: rgba(0, 0, 0, 0.04);
    backdrop-filter: blur(9px);
    -webkit-backdrop-filter: blur(9px);
}

html.ios-form-phone body.ios-springboard .ios-qa-scrim {
    position: fixed;
}

html.ios-form-phone .ios-qa-lift {
    position: absolute;
    z-index: 65;
    display: block;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
}

html.ios-form-phone body.ios-springboard .ios-qa-lift {
    position: fixed;
}

html.ios-form-phone #desktop a.ios-qa-held .sb-label {
    visibility: hidden;
}

/* Accueil en modification iPhone (GT 23) : « + » 58×25 à (21,18), « Done » à (311,18), badges 22, pastille 76×29. */
html.ios-form-phone body.ios-springboard #ios-home-edit-bar {
    top: 18px;
    right: 21px;
    left: 21px;
    display: block;
    transform: none;
}

html.ios-form-phone .ios-home-edit-actions {
    display: flex;
    justify-content: space-between;
    gap: 0;
}

html.ios-form-phone #ios-home-edit-wallpaper,
html.ios-form-phone .ios-home-edit-hint {
    display: none;
}

html.ios-form-phone #ios-home-edit-plus,
html.ios-form-phone #ios-home-edit-done {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 25px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 13px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #1c1c1e;
    background: rgba(255, 255, 255, 0.78);
    box-shadow: none;
    cursor: pointer;
}

html.ios-form-phone #ios-home-edit-plus {
    font-size: 20px;
    font-weight: 400;
    color: #5a5a5e;
    background: rgba(255, 255, 255, 0.62);
}

html.ios-form-phone .ios-sb-remove {
    width: 22px;
    height: 22px;
    font-size: 16px;
    font-weight: 400;
    color: #b0b0b0;
    background: rgba(39, 39, 39, 0.96);
}

html.ios-form-phone #tableau a[data-link] {
    position: relative;
}

html.ios-form-phone .ios-widget-remove {
    position: absolute;
    z-index: 3;
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    font-size: 16px;
    line-height: 22px;
    text-align: center;
    color: #b0b0b0;
    background: rgba(39, 39, 39, 0.96);
}

html.ios-form-phone body.ios-springboard #widgets {
    position: relative;
}

html.ios-form-phone.ios-home-editing body.ios-springboard #iosheader {
    visibility: hidden;
}

html.ios-form-phone.ios-home-editing body.ios-springboard #sb-points {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    width: 76px;
    height: 29px;
    margin: 0 auto;
    padding: 0;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.72);
    box-sizing: border-box;
}

/* Page 2 iPhone — profil GT : Watch, Contacts, Files, Shortcuts seulement. */
html.ios-form-phone.ios-data-gt body#ios-17.ios-springboard #desktop .sb-page:nth-child(2) > a[data-link]:not([data-link="watch"]):not([data-link="contacts"]):not([data-link="fichiers"]):not([data-link="raccourcis"]) {
    display: none;
}

/* ═══ iPhone 13 iOS 17 — Spotlight, Bibliothèque d'apps, Vue Aujourd'hui (géométrie GT 20/14/16 du 2026-10-12,
   fonds en réserve : le simulateur les rend noirs ; la peau garde l'accueil flouté et assombri d'iOS) ═══ */

/* ── Spotlight iPhone : feuille plein écran sombre, champ en bas (16,760) 358×46 ── */
html.ios-form-phone .ios-sys.is-spotlight .ios-sys__scrim {
    background: rgba(0, 0, 0, 0.62);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

html.ios-form-phone .ios-sys.is-spotlight .ios-sys__panel--spotlight {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-height: none;
    padding: 61px 16px 90px;
    border-radius: 0;
    color: #fff;
    background: transparent;
    box-shadow: none;
    transform: none;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    box-sizing: border-box;
    overflow: auto;
}

html.ios-form-phone .ios-spot-bar {
    position: absolute;
    bottom: 38px;
    left: 16px;
    width: 358px;
    height: 46px;
    padding: 0 12px 0 14px;
    gap: 0;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.14);
    box-sizing: border-box;
}

html.ios-form-phone .ios-spot-field {
    gap: 10px;
    padding: 0;
    background: transparent;
}

html.ios-form-phone .ios-spot-ico {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    border: 2.2px solid #9a9a9e;
    box-shadow: 6px 6px 0 -3.6px #9a9a9e;
}

html.ios-form-phone .ios-spot-field input {
    font-size: 17px;
    color: #fff;
    caret-color: #0a84ff;
}

html.ios-form-phone .ios-spot-field input::placeholder,
html.ios-form-phone .ios-spot-field input:focus::placeholder {
    opacity: 1;
    color: #9a9a9e;
}

html.ios-form-phone .ios-spot-field input:focus,
html.ios-form-phone .ios-spot-field input:focus-visible {
    outline: none !important;
    box-shadow: none !important;
}

html.ios-form-phone .ios-spot-field input::-webkit-search-cancel-button {
    display: none;
    -webkit-appearance: none;
}

html.ios-form-phone .ios-spot-cancel,
html.ios-form-phone .ios-spot-ask,
html.ios-form-phone .ios-spot-mic,
html.ios-form-phone .ios-spot-chip,
html.ios-form-phone .ios-spot-complete,
html.ios-form-phone .ios-spot-kbd {
    display: none !important;
}

html.ios-form-phone .ios-spot-field input.is-completed {
    color: #fff;
    caret-color: #0a84ff;
}

html.ios-form-phone .ios-spot-clear {
    display: block;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    margin-left: 10px;
    border-radius: 50%;
    background: #8e8e93;
}

html.ios-form-phone .ios-spot-clear[hidden] {
    display: none;
}

html.ios-form-phone .ios-spot-intro {
    display: block;
    padding: 120px 20px 0;
    text-align: center;
}

html.ios-form-phone .ios-spot-intro[hidden],
html.ios-form-phone .ios-spot-body[hidden] {
    display: none !important;
}

html.ios-form-phone .ios-spot-intro-icons {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 0 0 24px;
}

html.ios-form-phone .ios-spot-intro-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    color: #d0d0d4;
    background: rgba(255, 255, 255, 0.16);
}

html.ios-form-phone .ios-spot-intro-text {
    margin: 0 auto 28px;
    font-size: 15px;
    line-height: 20px;
    color: #f5f5f7;
}

html.ios-form-phone .ios-spot-intro-text a {
    color: #0a84ff;
    text-decoration: none;
}

html.ios-form-phone .ios-spot-continue {
    height: 34px;
    margin: 0;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    font: inherit;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: rgba(255, 255, 255, 0.18);
    cursor: pointer;
}

html.ios-form-phone .ios-spot-body {
    max-height: none;
    overflow: visible;
}

html.ios-form-phone .ios-spot-kicker {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 0 0 11px;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: none;
    color: #e5e5ea;
}

html.ios-form-phone .ios-spot-more {
    display: inline-block;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 15px;
    color: #9a9a9e;
    cursor: pointer;
}

html.ios-form-phone .ios-spot-results--ipad {
    margin: 0;
}

/* Rangée de suggestions / Top Hit : carte 358×98 (GT 20 : y 92–190), icône 60, libellé 12. */
html.ios-form-phone .ios-spot-sugrow {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px 0;
    padding: 12px 0 10px;
    border-radius: 16px;
    list-style: none;
    background: rgba(255, 255, 255, 0.1);
}

html.ios-form-phone .ios-spot-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 12px;
    line-height: 14px;
    color: #fff;
    cursor: pointer;
}

html.ios-form-phone .ios-spot-tile img,
html.ios-form-phone .ios-spot-tile .cal-face,
html.ios-form-phone .ios-spot-tile .phone-face,
html.ios-form-phone .ios-spot-tile .shell-face,
html.ios-form-phone .ios-spot-tile .ios-spot-glyph,
html.ios-form-phone .ios-spot-tile .ios-spot-calface {
    display: block;
    width: 60px !important;
    height: 60px !important;
    border-radius: 13.5px !important;
    box-shadow: none !important;
}

html.ios-form-phone .ios-spot-tile span {
    margin-top: 6px;
}

html.ios-form-phone .ios-spot-tile--top {
    grid-column: 1;
    width: 90px;
}

html.ios-form-phone .ios-spot-tile--top::before {
    display: none;
}

html.ios-form-phone .ios-spot-section--ipad {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin: 27px 0 6px;
    padding: 0;
    font-size: 15px;
    font-weight: 600;
    line-height: 20px;
    letter-spacing: 0;
    text-transform: none;
    color: #e5e5ea;
}

html.ios-form-phone .ios-spot-inapp {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 400;
    color: #e5e5ea;
}

html.ios-form-phone .ios-spot-inapp i {
    display: block;
    width: 11px;
    height: 11px;
    border: 1.5px solid #e5e5ea;
    border-radius: 2px;
    box-sizing: border-box;
}

html.ios-form-phone .ios-spot-web,
html.ios-form-phone .ios-spot-panel {
    position: relative;
    margin: 0;
    list-style: none;
}

html.ios-form-phone .ios-spot-web::after,
html.ios-form-phone .ios-spot-panel::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 40px;
    height: 0.5px;
    content: "";
    background: rgba(255, 255, 255, 0.22);
}

html.ios-form-phone .ios-spot-panel::after {
    left: 76px;
}

html.ios-form-phone .ios-spot-webrow {
    display: flex;
    align-items: center;
    gap: 14px;
    width: 100%;
    height: 56px;
    margin: 0;
    padding: 0 10px 0 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 17px;
    color: #fff;
    text-align: left;
    cursor: pointer;
}

html.ios-form-phone .ios-spot-webrow b {
    font-weight: 600;
}

html.ios-form-phone .ios-spot-webtxt {
    flex: 1 1 auto;
    min-width: 0;
}

html.ios-form-phone .ios-spot-webico {
    position: relative;
    display: block;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
}

html.ios-form-phone .ios-spot-webico::before {
    position: absolute;
    top: 4px;
    left: 4px;
    width: 14px;
    height: 14px;
    border: 2px solid #9a9a9e;
    border-radius: 50%;
    content: "";
    box-sizing: border-box;
}

html.ios-form-phone .ios-spot-webico::after {
    position: absolute;
    top: 17px;
    left: 16px;
    width: 7px;
    height: 2px;
    content: "";
    background: #9a9a9e;
    transform: rotate(45deg);
}

html.ios-form-phone .ios-spot-webico--safari {
    border-radius: 50%;
    background: radial-gradient(circle at 50% 50%, #fff 0 34%, #1c8cf5 35% 100%);
}

html.ios-form-phone .ios-spot-webico--safari::before {
    top: 6px;
    left: 6px;
    width: 14px;
    height: 14px;
    border: 0;
    border-radius: 0;
    background: linear-gradient(135deg, #ff3b30 0 50%, #fff 50% 100%);
    transform: rotate(-20deg) scale(0.5, 1);
}

html.ios-form-phone .ios-spot-webico--safari::after {
    display: none;
}

html.ios-form-phone .ios-spot-arrow {
    position: relative;
    display: block;
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
    margin-left: auto;
}

html.ios-form-phone .ios-spot-arrow::before {
    position: absolute;
    top: 7px;
    left: 1px;
    width: 14px;
    height: 2px;
    content: "";
    background: #9a9a9e;
    transform: rotate(-45deg);
}

html.ios-form-phone .ios-spot-arrow::after {
    position: absolute;
    top: 2px;
    right: 1px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #9a9a9e;
    border-right: 2px solid #9a9a9e;
    content: "";
}

html.ios-form-phone .ios-spot-panelrow {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    margin: 0;
    padding: 16px 0;
    border: 0;
    background: transparent;
    font: inherit;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    text-align: left;
    cursor: pointer;
}

html.ios-form-phone .ios-spot-panelrow img,
html.ios-form-phone .ios-spot-panelrow .ios-spot-glyph {
    display: block;
    flex: 0 0 60px;
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}

html.ios-form-phone .ios-spot-glyph--silent {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #8e8e93;
}

html.ios-form-phone .ios-spot-toggle {
    position: relative;
    display: block;
    flex: 0 0 51px;
    width: 51px;
    height: 31px;
    margin-left: auto;
    border-radius: 16px;
    background: rgba(120, 120, 128, 0.32);
}

html.ios-form-phone .ios-spot-toggle::after {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    content: "";
    background: #fff;
}

html.ios-form-phone .ios-spot-panelrow .ios-spot-inapp-ico {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 7px;
}

html.ios-form-phone .ios-spot-panel--inapp .ios-spot-panelrow {
    padding: 12px 0 14px;
}

/* ── Bibliothèque d'apps iPhone (GT 14) : pastille 338×47 à (26,63), tuiles 157 à (27,143), 2 colonnes ── */
html.ios-form-phone #ios-app-library {
    padding: 0;
    color: #fff;
    background: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(40px) saturate(1.05);
    -webkit-backdrop-filter: blur(40px) saturate(1.05);
}

html.ios-form-phone .ios-al-head {
    position: absolute;
    top: 63px;
    left: 26px;
    z-index: 2;
    width: 338px;
    height: 47px;
    margin: 0;
}

html.ios-form-phone .ios-al-head-actions {
    display: none !important;
}

html.ios-form-phone .ios-al-search {
    justify-content: center;
    gap: 8px;
    height: 47px;
    padding: 0 16px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.92);
    box-sizing: border-box;
}

html.ios-form-phone .ios-al-search-ico {
    width: 16px;
    height: 16px;
    border: 2px solid #8e8e93;
    box-shadow: 6px 6px 0 -3.5px #8e8e93;
}

html.ios-form-phone .ios-al-search input {
    flex: 0 1 auto;
    width: 108px;
    font-size: 17px;
    color: #1c1c1e;
}

html.ios-form-phone .ios-al-search input::placeholder,
html.ios-form-phone .ios-al-search input:focus::placeholder {
    opacity: 1;
    color: #8e8e93;
}

html.ios-form-phone .ios-al-search input:focus,
html.ios-form-phone .ios-al-search input:focus-visible {
    outline: none !important;
}

html.ios-form-phone .ios-al-body {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

html.ios-form-phone .ios-al-folders {
    position: absolute;
    top: 143px;
    right: 27px;
    bottom: 0;
    left: 27px;
    display: grid;
    grid-template-columns: 157px 157px;
    grid-auto-rows: max-content;
    column-gap: 22px;
    row-gap: 34px;
    overflow: auto;
}

html.ios-form-phone .ios-al-folder {
    width: 157px;
}

html.ios-form-phone .ios-al-folder-tile {
    display: grid;
    grid-template-columns: 60px 60px;
    grid-auto-rows: 60px;
    gap: 9px;
    width: 157px;
    height: 157px;
    padding: 14px;
    border-radius: 36px;
    background: rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
    cursor: pointer;
}

html.ios-form-phone .ios-al-big {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

html.ios-form-phone .ios-al-big img,
html.ios-form-phone .ios-al-big .ios-al-fallback,
html.ios-form-phone .ios-al-calface {
    display: block;
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
}

html.ios-form-phone .ios-al-calface {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 6px;
    color: #1c1c1e;
    background: #fff;
    box-sizing: border-box;
}

html.ios-form-phone .ios-al-calface b {
    font-size: 9px;
    font-weight: 700;
    line-height: 10px;
    color: #ff3b30;
}

html.ios-form-phone .ios-al-calface em {
    font-size: 30px;
    font-style: normal;
    font-weight: 300;
    line-height: 32px;
}

html.ios-form-phone .ios-al-mini {
    display: grid;
    grid-template-columns: 25px 25px;
    grid-auto-rows: 25px;
    gap: 6px;
    width: 60px;
    height: 60px;
    padding: 2px;
    box-sizing: border-box;
}

html.ios-form-phone .ios-al-mini img,
html.ios-form-phone .ios-al-mini i,
html.ios-form-phone .ios-al-calface--mini {
    display: block;
    width: 25px;
    height: 25px;
    padding: 2px 0 0;
    border-radius: 5.5px;
    background: rgba(255, 255, 255, 0.4);
}

html.ios-form-phone .ios-al-calface--mini b { font-size: 4px; line-height: 5px; }
html.ios-form-phone .ios-al-calface--mini em { font-size: 13px; line-height: 14px; }

html.ios-form-phone .ios-al-folder-label {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
    margin: 6px 0 0;
    font-size: 12px;
    font-weight: 600;
    line-height: 14px;
    color: #fff;
}

html.ios-form-phone .ios-al--folder-open .ios-al-head,
html.ios-form-phone .ios-al--folder-open .ios-al-folders {
    display: none;
}

html.ios-form-phone .ios-al--folder-open .ios-al-folder-sheet {
    position: absolute;
    inset: 0;
    display: block;
    width: auto;
    padding: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
}

html.ios-form-phone .ios-al-folder-sheet-title {
    position: absolute;
    top: 118px;
    left: 40px;
    display: flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    color: #fff;
}

html.ios-form-phone .ios-al-folder-sheet-grid {
    position: absolute;
    top: 170px;
    left: 27px;
    display: grid;
    grid-template-columns: repeat(4, 60px);
    grid-auto-rows: 60px;
    column-gap: 32px;
    row-gap: 50px;
}

html.ios-form-phone .ios-al-folder-sheet .ios-al-app {
    width: 60px;
    padding: 0;
    overflow: visible;
    font-size: 12px;
    line-height: 14px;
    color: #fff;
}

html.ios-form-phone .ios-al-folder-sheet .ios-al-app span {
    max-width: none;
    margin-top: 6px;
    overflow: visible;
}

html.ios-form-phone.ios-al-open body.ios-springboard #tableau,
html.ios-form-phone.ios-al-open body.ios-springboard #sb-points,
html.ios-form-phone.ios-al-open body.ios-springboard #recherche {
    visibility: hidden;
}

/* ── Vue Aujourd'hui iPhone (GT 16) : colonne 338 à (26,72) — Calendrier 158, Batteries 158, Headlines 338×354, Plans 338×158 ── */
html.ios-form-phone .ios-today-scrim {
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(40px) saturate(0.6);
    -webkit-backdrop-filter: blur(40px) saturate(0.6);
}

html.ios-form-phone .ios-today-panel {
    display: none !important;
}

html.ios-form-phone .ios-today-ipad {
    position: absolute;
    top: 72px;
    left: 26px;
    z-index: 1;
    display: block;
    width: 338px;
    height: 712px;
}

html.ios-form-phone body.ios-springboard #ios-today-view {
    position: fixed;
}

html.ios-form-phone .ios-tw2 {
    position: absolute;
    margin: 0;
    padding: 0;
    border-radius: 22px;
    color: #1c1c1e;
    background: #fff;
    box-sizing: border-box;
    cursor: pointer;
}

html.ios-form-phone .ios-tw2--cal {
    top: 0;
    left: 0;
    width: 158px;
    height: 158px;
    padding: 16px 16px 0;
}

html.ios-form-phone .ios-tw2-dow {
    margin: 0;
    font-size: 12px;
    font-weight: 700;
    line-height: 14px;
    letter-spacing: 0.02em;
    color: #ff3b30;
}

html.ios-form-phone .ios-tw2-dom {
    margin: 0;
    font-size: 36px;
    font-weight: 300;
    line-height: 36px;
    letter-spacing: -0.02em;
}

html.ios-form-phone .ios-tw2-empty {
    margin: 30px 0 0;
    font-size: 16px;
    line-height: 20px;
    white-space: nowrap;
    color: #8e8e93;
}

html.ios-form-phone .ios-tw2--battery {
    top: 0;
    left: 180px;
    width: 158px;
    height: 158px;
    background: #f4f4f4;
}

html.ios-form-phone .ios-tw2-ring {
    position: absolute;
    top: 16px;
    left: 16px;
    display: block;
    width: 50px;
    height: 50px;
    border: 5px solid #34c759;
    border-radius: 50%;
    box-sizing: border-box;
}

html.ios-form-phone .ios-tw2-batt {
    position: absolute;
    top: 100px;
    left: 16px;
    margin: 0;
    font-size: 36px;
    font-weight: 400;
    line-height: 40px;
    letter-spacing: -0.02em;
}

html.ios-form-phone .ios-tw2--news {
    top: 180px;
    left: 0;
    width: 338px;
    height: 354px;
    padding: 12px 16px 0;
}

html.ios-form-phone .ios-tw2-news-title {
    margin: 0 0 10px;
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
}

html.ios-form-phone .ios-tw2-news-row {
    position: relative;
    display: block;
    width: 306px;
    height: 84px;
}

html.ios-form-phone .ios-tw2-news-row i {
    position: absolute;
    left: 0;
    display: block;
    width: 232px;
    height: 10px;
    border-radius: 2px;
    background: #d9d9d9;
}

html.ios-form-phone .ios-tw2-news-row i.k { top: 0; width: 40px; height: 8px; }
html.ios-form-phone .ios-tw2-news-row i:nth-child(2) { top: 13px; }
html.ios-form-phone .ios-tw2-news-row i:nth-child(3) { top: 29px; }
html.ios-form-phone .ios-tw2-news-row i:nth-child(4) { top: 44px; }

html.ios-form-phone .ios-tw2-news-row b {
    position: absolute;
    top: 0;
    right: 0;
    display: block;
    width: 56px;
    height: 56px;
    border-radius: 10px;
    background: #d9d9d9;
}

html.ios-form-phone .ios-tw2-news-rows .ios-tw2-news-row:nth-child(n+5) {
    display: none;
}

html.ios-form-phone .ios-tw2-news-empty {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    margin: 0;
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    color: #6e6e73;
}

html.ios-form-phone .ios-tw2--maps {
    top: 554px;
    left: 0;
    width: 338px;
    height: 158px;
    background: #e2efd3;
}

html.ios-form-phone .ios-tw2-maps-btn {
    position: absolute;
    top: 70px;
    left: 8px;
    display: block;
    width: 72px;
    height: 72px;
    border-radius: 14px;
    background: #fbfbfb;
}

html.ios-form-phone .ios-tw2-maps-btn i {
    position: absolute;
    top: 14px;
    left: 14px;
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #969696;
}

html.ios-form-phone .ios-tw2-maps-btn i::before {
    position: absolute;
    top: 13px;
    left: 13px;
    width: 13px;
    height: 13px;
    border: 2.4px solid #fff;
    border-radius: 50%;
    content: "";
    box-sizing: border-box;
}

html.ios-form-phone .ios-tw2-maps-btn i::after {
    position: absolute;
    top: 25px;
    left: 24px;
    width: 8px;
    height: 2.4px;
    content: "";
    background: #fff;
    transform: rotate(45deg);
}

html.ios-form-phone .ios-tw2--screen {
    display: none;
}

html.ios-form-phone.ios-today-open body.ios-springboard #tableau,
html.ios-form-phone.ios-today-open body.ios-springboard #sb-points,
html.ios-form-phone.ios-today-open body.ios-springboard #recherche {
    visibility: hidden;
}

html.ios-form-phone body.ios-springboard #iosheader {
    position: relative;
    z-index: 75;
}

/* ═══ iPhone 13 iOS 18 — deltas mesurés le 2026-10-12 (GT 12/17/20/14/23) ═══ */
/* Spotlight 18 : introduction = deux lignes en haut (y≈60–75), pas de pastilles ni de bouton. */
.ios-spot-note {
    display: none;
}

html.ios-form-phone .ios-spot-intro--18 {
    padding: 0 16px;
}

html.ios-form-phone .ios-spot-intro--18 .ios-spot-intro-icons,
html.ios-form-phone .ios-spot-intro--18 .ios-spot-continue {
    display: none;
}

html.ios-form-phone .ios-spot-intro--18 .ios-spot-intro-text {
    margin: 0;
    font-size: 13px;
    line-height: 16px;
    color: #c7c7cc;
}

html.ios-form-phone .ios-spot-intro--18 .ios-spot-intro-text a {
    color: #0a84ff;
}

html.ios-form-phone .ios-spot-note {
    display: block;
    margin: 32px 10px 0;
    font-size: 13px;
    line-height: 16px;
    text-align: center;
    color: #c7c7cc;
    list-style: none;
}

html.ios-form-phone .ios-spot-note a {
    color: #0a84ff;
    text-decoration: none;
}

/* Carte de suggestions 18 : 358×105 à y=83, 4 icônes 59 (pas 89,5), libellés 11. */
html.ios-form-phone body#ios-18 .ios-spot-sugrow,
html.ios-form-phone.ios-data-gt body#ios-18 .ios-spot-sugrow {
    padding: 12px 0 10px;
}

html.ios-form-phone body#ios-18 .ios-spot-tile {
    font-size: 11px;
}

/* Rangées « Apps » des résultats 18 : icône 58 à x=16, libellé 17 gras (GT : y 353–410). */
html.ios-form-phone .ios-spot-panel--app .ios-spot-panelrow {
    padding: 10px 0 12px;
}

html.ios-form-phone .ios-spot-panel--app .ios-spot-panelrow img,
html.ios-form-phone .ios-spot-panel--app .ios-spot-panelrow .ios-spot-glyph,
html.ios-form-phone .ios-spot-panel--app .ios-spot-panelrow .shell-face,
html.ios-form-phone .ios-spot-panel--app .ios-spot-panelrow .cal-face {
    display: block;
    flex: 0 0 58px;
    width: 58px !important;
    height: 58px !important;
    border-radius: 13px !important;
}

/* Bibliothèque 18 : pastille à y=67, tuiles à y=147 (+4 par rapport à iOS 17). */
html.ios-form-phone body#ios-18 .ios-al-head {
    top: 67px;
}

html.ios-form-phone body#ios-18 .ios-al-folders {
    top: 147px;
}

/* Mode modification 18 : « Edit » (texte 15 pt) à la place de « + ». */
html.ios-form-phone body#ios-18 #ios-home-edit-plus,
html.ios-form-tablet body#ios-18 #ios-home-edit-plus {
    width: auto;
    padding: 0 12px;
    font-size: 15px;
    font-weight: 600;
    color: #1c1c1e;
    background: rgba(255, 255, 255, 0.78);
}

html.ios-form-tablet body#ios-18 #ios-home-edit-plus {
    font-size: 17px;
}

/* Page 2 iPhone 18 — profil GT : Fitness, Watch, Contacts, Files et le dossier Utilities. */
html.ios-form-phone.ios-data-gt body#ios-18.ios-springboard #desktop .sb-page:nth-child(2) > a[data-link]:not([data-link="fitness"]):not([data-link="watch"]):not([data-link="contacts"]):not([data-link="fichiers"]) {
    display: none;
}

/* Page 2 iPhone (GT 21, iOS 17 et 18) : pas de widgets hors page 1. */
html.ios-form-phone body.ios-springboard:has(#desktop .sb-page:nth-child(2).sb-page-on) #widgets {
    display: none;
}

/* ═══ iPad Air 5 iPadOS 18 — deltas mesurés le 2026-10-13 (GT 16/21/23) ═══ */
/* Page 2 iPad 18 : Contacts, Shortcuts, Passwords, Health — pas de dossier Utilities (téléphone seulement). */
html.ios-form-tablet body#ios-18.ios-springboard .sb-page > .sb-folder[data-folder-name="Utilities"] {
    display: none;
}

html.ios-form-tablet.ios-data-gt body#ios-18.ios-springboard #desktop .sb-page:nth-child(2) > a[data-link]:not([data-link="contacts"]):not([data-link="raccourcis"]):not([data-link="passwords"]):not([data-link="sante"]) {
    display: none;
}

html.ios-form-phone body#ios-18.ios-springboard #desktop a[data-link="passwords"] {
    display: none; /* GT iPhone 13 iOS 18 page 2 : Fitness, Watch, Contacts, Files, Utilities */
}

/* Widget News iOS 18 : « Top Stories » puis « Trending » (orange) — GT 16 iPad. */
.ios-tw2-news-trending {
    margin: 4px 0 10px;
    font-size: 14px;
    font-weight: 700;
    line-height: 16px;
    color: #ff9500;
}

html.ios-form-tablet body#ios-18 .ios-tw2-news-row { height: 64px; }
html.ios-form-phone body#ios-18 .ios-tw2-news-row { height: 72px; }

/* ═══ Sélecteur d'apps iPad — GT iPad Air 5 iPadOS 17 (Device › App Switcher, 2026-10-13, mesurable) ═══
   Portrait : 3 colonnes de cartes blanches 245×352 (aspect écran), pas 290, rangées y=165 / 593 (pas 428),
   grille alignée à droite (marge 45, la colonne de gauche déborde de 50 : défilement horizontal), légende
   icône 20 + nom 15 pt + sous-titre 13 gris à 43 au-dessus de chaque carte ; paysage : cartes 352×244, pas 402,
   rangées y=96 / 410 (pas 314), marge droite 49, débord 25. Accueil flouté ×0,75, dock visible, ni titre ni bouton.
   iPadOS 18 (réserve) : cartes 245×330 à y=187, pas 406. */
.ios-as-caption {
    display: none;
}

html.ios-form-tablet #ios-app-switcher {
    display: block;
}

html.ios-form-tablet .ios-as-scrim {
    background: rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

html.ios-form-tablet .ios-as-panel {
    position: absolute;
    inset: 0;
    width: auto;
    max-height: none;
    display: block;
    padding: 0;
    overflow: hidden;
}

html.ios-form-tablet .ios-as-head,
html.ios-form-tablet .ios-as-hint,
html.ios-form-tablet .ios-as-multi,
html.ios-form-tablet .ios-as-home,
html.ios-form-tablet .ios-as-kill,
html.ios-form-tablet .ios-as-name,
html.ios-form-tablet .ios-as-preview-label {
    display: none !important;
}

html.ios-form-tablet .ios-as-rail {
    position: absolute;
    top: 122px;
    left: -50px;
    display: grid;
    grid-template-columns: repeat(3, 245px);
    grid-auto-rows: 395px;
    column-gap: 45px;
    row-gap: 33px;
    max-height: none;
    padding: 0;
    overflow: visible;
}

html.ios-form-tablet .ios-as-card {
    position: relative;
    width: 245px;
    height: 395px;
}

html.ios-form-tablet .ios-as-caption {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    height: 40px;
    color: #fff;
}

html.ios-form-tablet .ios-as-caption img,
html.ios-form-tablet .ios-as-caption .ios-as-fallback {
    width: 20px;
    height: 20px;
    border-radius: 5px;
}

html.ios-form-tablet .ios-as-caption-txt {
    display: flex;
    flex-direction: column;
    font-size: 15px;
    line-height: 18px;
}

html.ios-form-tablet .ios-as-caption-txt b {
    font-weight: 600;
}

html.ios-form-tablet .ios-as-caption-txt small {
    font-size: 13px;
    line-height: 16px;
    color: rgba(255, 255, 255, 0.62);
}

html.ios-form-tablet .ios-as-card-main {
    position: absolute;
    top: 43px;
    left: 0;
    width: 245px;
    height: 352px;
    gap: 0;
}

html.ios-form-tablet .ios-as-preview {
    width: 245px;
    height: 352px;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
}

html.ios-form-tablet .ios-as-preview img,
html.ios-form-tablet .ios-as-preview .ios-as-fallback {
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
    opacity: 0.08; /* vignette d'app vide (GT : premières vues blanches) */
}

html.ios-form-tablet .ios-as-card.is-active .ios-as-preview {
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.22);
}

html.ios-form-tablet.ios-orient-landscape .ios-as-rail {
    top: 53px;
    left: -25px;
    grid-template-columns: repeat(3, 352px);
    grid-auto-rows: 287px;
    column-gap: 50px;
    row-gap: 27px;
}

html.ios-form-tablet.ios-orient-landscape .ios-as-card {
    width: 352px;
    height: 287px;
}

html.ios-form-tablet.ios-orient-landscape .ios-as-card-main,
html.ios-form-tablet.ios-orient-landscape .ios-as-preview {
    width: 352px;
    height: 244px;
}

html.ios-form-tablet body#ios-18 .ios-as-rail {
    top: 144px;
    grid-auto-rows: 373px;
}

html.ios-form-tablet body#ios-18 .ios-as-card {
    height: 373px;
}

html.ios-form-tablet body#ios-18 .ios-as-card-main,
html.ios-form-tablet body#ios-18 .ios-as-preview {
    height: 330px;
}

html.ios-form-tablet.ios-as-open body.ios-springboard #tableau {
    position: absolute;
    z-index: 71;
}

html.ios-form-tablet.ios-as-open body.ios-springboard #sb-points,
html.ios-form-tablet.ios-as-open body.ios-springboard #iosheader {
    visibility: hidden;
}

/* ═══ Sélecteur d'apps iPhone 13 iOS 17 (GT Device › App Switcher, 2026-10-13, mesurable) ═══
   Cartes 267×577 (rayon 36) empilées en éventail : la plus récente devant à (62,125), chaque précédente
   décalée de 48 vers la gauche et derrière ; légende icône 22 + nom 17 pt gras à 33 au-dessus (x = carte + 33) ;
   accueil flouté et assombri (×0,62), dock flouté, ni titre ni bouton. */
html.ios-form-phone #ios-app-switcher {
    display: block;
}

html.ios-form-phone body.ios-springboard #ios-app-switcher {
    position: fixed;
}

html.ios-form-phone .ios-as-scrim {
    background: rgba(0, 0, 0, 0.38);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
}

html.ios-form-phone .ios-as-panel {
    position: absolute;
    inset: 0;
    width: auto;
    max-height: none;
    display: block;
    padding: 0;
    overflow: hidden;
}

html.ios-form-phone .ios-as-head,
html.ios-form-phone .ios-as-hint,
html.ios-form-phone .ios-as-multi,
html.ios-form-phone .ios-as-home,
html.ios-form-phone .ios-as-kill,
html.ios-form-phone .ios-as-name,
html.ios-form-phone .ios-as-preview-label {
    display: none !important;
}

html.ios-form-phone .ios-as-rail {
    position: absolute;
    inset: 0;
    display: block;
    padding: 0;
    overflow: hidden;
}

html.ios-form-phone .ios-as-card {
    position: absolute;
    top: 92px;
    left: calc(62px - 48px * var(--as-i, 0));
    z-index: calc(20 - var(--as-i, 0));
    width: 267px;
    height: 610px;
}

html.ios-form-phone .ios-as-caption {
    position: absolute;
    top: 0;
    left: 33px;
    display: flex;
    align-items: center;
    gap: 8px;
    height: 22px;
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    white-space: nowrap;
}

html.ios-form-phone .ios-as-caption img,
html.ios-form-phone .ios-as-caption .ios-as-fallback {
    width: 22px;
    height: 22px;
    border-radius: 5.5px;
}

html.ios-form-phone .ios-as-caption-txt small {
    display: none;
}

html.ios-form-phone .ios-as-card-main {
    position: absolute;
    top: 33px;
    left: 0;
    width: 267px;
    height: 577px;
    gap: 0;
}

html.ios-form-phone .ios-as-preview {
    width: 267px;
    height: 577px;
    border-radius: 36px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

html.ios-form-phone .ios-as-preview img,
html.ios-form-phone .ios-as-fallback {
    width: 60px;
    height: 60px;
    border-radius: 13.5px;
    opacity: 0.08;
}

html.ios-form-phone .ios-as-card.is-active .ios-as-preview {
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
}

/* iPhone (GT 13) : pas de barre d'état, seules l'icône des cartes arrière reste visible (libellé masqué),
   voile un peu plus clair que l'iPad. */
html.ios-form-phone.ios-as-open body.ios-springboard #iosheader {
    visibility: hidden;
}

html.ios-form-phone .ios-as-card:not(:nth-child(1)) .ios-as-caption-txt {
    display: none;
}

html.ios-form-phone .ios-as-scrim {
    background: rgba(0, 0, 0, 0.28);
}

/* ─── Réglages → effets d'affichage (chaînes ios-settings-*) ─────────────────────
   Voile hors flux : Night Shift (ambre, « Use Night Shift on your iPhone ») et True Tone
   désactivé (dominante froide). Aucun clic ne passe, aucune géométrie ne bouge. */
.ios-display-veil {
    position: absolute;
    display: none;
    pointer-events: none;
    inset: 0;
    z-index: 2147483000;
}

.ios-display-veil--fixed {
    position: fixed;
}

html.ios-night-shift .ios-display-veil {
    display: block;
    background: rgba(255, 150, 50, 0.22);
    mix-blend-mode: multiply;
}

html.ios-true-tone-off:not(.ios-night-shift) .ios-display-veil {
    display: block;
    background: rgba(120, 170, 255, 0.12);
}

/* Écran d'accueil → Pastilles de notification désactivées. */
html.ios-badges-off body.ios-springboard .ios-sb-badge {
    display: none;
}

/* Accessibilité → Mouvement → Réduire les animations : plus de transitions ni d'animations. */
html.ios-reduce-motion body.ios-springboard *,
html.ios-reduce-motion body.ios-springboard *::before,
html.ios-reduce-motion body.ios-springboard *::after {
    animation-duration: 0s !important;
    transition-duration: 0s !important;
}

/* Réglages → Appareil photo → Inverser l'image de la caméra avant. */
.ios-camera-view.is-mirrored {
    transform: scaleX(-1);
}

/* Accessibilité → Affichage et taille du texte : Formes des boutons (texte souligné) et Augmenter le
   contraste (voiles et libellés secondaires renforcés) — support.apple.com « Display & Text Size ». */
html.ios-button-shapes body.ios-springboard .ios-cc-extra-label,
html.ios-button-shapes body.ios-springboard .ios-appr-choice span,
html.ios-button-shapes body.ios-springboard .ios-watch-done,
html.ios-button-shapes body.ios-springboard .ios-watch-link {
    text-decoration: underline;
}

html.ios-increase-contrast body.ios-springboard .sb-label {
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.9), 0 1px 3px rgba(0, 0, 0, 0.9);
}

html.ios-increase-contrast body.ios-springboard #tableau {
    background: rgba(255, 255, 255, 0.92);
}

/* Réglages → Appareil photo → Niveau (iOS 17) : ligne d'horizon au centre de l'aperçu. */
.ios-camera-level {
    position: absolute;
    width: 36%;
    height: 0;
    border-top: 1.5px solid rgba(255, 214, 10, 0.95);
    pointer-events: none;
    left: 32%;
    top: 50%;
}

.ios-camera-level[hidden] {
    display: none;
}

/* Réglages → Mail : libellé À/Cc, confirmation de suppression. */
.ios-mail-to {
    display: block;
    color: #8e8e93;
    font-size: 0.88em;
}

.ios-mail-to[hidden] {
    display: none;
}

.ios-mail-confirm {
    position: absolute;
    display: flex;
    padding: 10px 14px;
    border-radius: 14px;
    font-size: 15px;
    color: #1c1c1e;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);
    gap: 10px;
    align-items: center;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
    z-index: 5;
}

.ios-mail-confirm[hidden] {
    display: none;
}

.ios-mail-confirm button {
    border: 0;
    font: inherit;
    color: #007aff;
    background: transparent;
    cursor: pointer;
}

#ios-mail-confirm-ok {
    color: #ff3b30;
    font-weight: 600;
}

/* Réglages → FaceTime : désactivé, sous-titres en direct. */
.ios-ft-off {
    margin: 8px 14px;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 14px;
    color: #8e8e93;
    background: rgba(142, 142, 147, 0.14);
}

.ios-ft-off[hidden] {
    display: none;
}

.ios-ft-captions {
    margin: 10px auto 0;
    padding: 6px 12px;
    border-radius: 10px;
    font-size: 15px;
    color: #fff;
    background: rgba(0, 0, 0, 0.72);
}

.ios-ft-captions[hidden] {
    display: none;
}

/* Réglages → Mail : compteur de fil, images distantes. */
.ios-mail-row-thread {
    display: inline-block;
    min-width: 18px;
    margin-left: 6px;
    padding: 0 5px;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 600;
    color: #1c1c1e;
    background: #e5e5ea;
    text-align: center;
}

.ios-mail-images {
    display: flex;
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 14px;
    color: #8e8e93;
    background: rgba(142, 142, 147, 0.14);
    gap: 10px;
    align-items: center;
}

.ios-mail-images[hidden] {
    display: none;
}

.ios-mail-images button {
    border: 0;
    font: inherit;
    color: #007aff;
    background: transparent;
    cursor: pointer;
}

/* Icônes shell à AppIcon d'origine (Assets.car IPSW iOS 17.5 / 18.0 — Notes, Horloge, Mail,
   Météo, Musique, Appareil photo) : le PNG remplit le squircle, plus de glyphe sur fond composé. */
body.ios-springboard .sb-shell .shell-face--icon {
    padding: 0;
    background: none;
}
body.ios-springboard .sb-shell .shell-face--icon img,
html.ios-form-tablet body.ios-springboard .sb-shell .shell-face--icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.ios-spot-face .shell-face--icon {
    padding-top: 0 !important;
    background: none !important;
}
.ios-spot-face .shell-face--icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}

/* Forme iPhone (guide d'utilisation iOS 17 — app absente du simulateur) : barre d'onglets Summary / Sharing
   en bas du panneau (83 pt, accent vert #30d158), plus de bouton « Menu » ; Workouts via « Show More ». */
.ios-fit-tabbar { display: none; }
html.ios-form-phone .ios-fit-tabbar {
    display: flex;
    justify-content: space-around;
    flex: 0 0 83px;
    padding: 7px 40px 0;
    border-top: 0.5px solid #2c2c2e;
    background: #1c1c1e;
}
.ios-fit-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 72px;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 10px;
    line-height: 12px;
    font-weight: 500;
    color: #8e8e93;
    background: none;
    cursor: pointer;
}
.ios-fit-tab svg { display: block; }
.ios-fit-tab.is-on { color: #30d158; }
html.ios-form-phone .ios-fit-menu-btn { display: none !important; }
.ios-fit-section-head { display: flex; align-items: baseline; justify-content: space-between; }
.ios-fit-section-head .ios-fit-section { margin-bottom: 0; }
.ios-fit-more { padding: 0; border: 0; font: inherit; font-size: 15px; color: #30d158; background: none; cursor: pointer; }

/* ─── iPhone d'usine (profil par défaut, DefaultIconState.plist, §10.48) : la pile de widgets de gauche
   montre Météo (le simulateur, sans app Météo, montrait Plans). Widget small iOS 17 : ville + flèche de
   position, température 42 pt maigre, soleil, condition et extrêmes en bas ; dégradé ciel clair. ─── */
#widgets .widget-weather--factory,
#widgets .widget-label--factory {
    display: none;
}
html.ios-form-phone.ios-home-factory #widgets .widget-maps,
html.ios-form-phone.ios-home-factory #widgets .widget-label--gt {
    display: none;
}
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 14px 15px 13px;
    color: #fff;
    background: linear-gradient(180deg, #2e7bd6 0%, #5aa6ea 100%);
}
html.ios-form-phone.ios-home-factory #widgets .widget-label--factory {
    display: block;
}
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory .w-weather-place {
    display: flex;
    align-items: center;
    gap: 3px;
    font-size: 15px;
    font-weight: 600;
    opacity: 1;
}
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory .w-weather-loc {
    width: 9px;
    height: 9px;
    background: #fff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M9.5 0.5 0.5 4.4 4.6 5.4 5.6 9.5z' fill='black'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M9.5 0.5 0.5 4.4 4.6 5.4 5.6 9.5z' fill='black'/></svg>") center / contain no-repeat;
}
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory .w-weather-temp {
    margin: 0;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
}
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory .w-weather-sun {
    display: block;
    width: 16px;
    height: 16px;
    margin-bottom: 3px;
    background: #ffd60a;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='3.4' fill='black'/><g stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M8 .9v2M8 13.1v2M.9 8h2M13.1 8h2M3 3l1.4 1.4M11.6 11.6 13 13M3 13l1.4-1.4M11.6 4.4 13 3'/></g></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='8' cy='8' r='3.4' fill='black'/><g stroke='black' stroke-width='1.6' stroke-linecap='round'><path d='M8 .9v2M8 13.1v2M.9 8h2M13.1 8h2M3 3l1.4 1.4M11.6 11.6 13 13M3 13l1.4-1.4M11.6 4.4 13 3'/></g></svg>") center / contain no-repeat;
}
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory .w-weather-cond,
html.ios-form-phone.ios-home-factory #widgets .widget-weather--factory .w-weather-hl {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 16px;
    opacity: 1;
}

/* iOS 18, iPhone d'usine : pile Météo à gauche (le widget Photos est propre au profil GT simulateur). */
html.ios-form-phone.ios-home-factory body#ios-18 #widgets .widget-photos {
    display: none;
}
html.ios-form-phone.ios-home-factory body#ios-18 #widgets .widget-weather {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 14px 15px 13px;
    color: #fff;
    background: linear-gradient(180deg, #2e7bd6 0%, #5aa6ea 100%);
}
html.ios-form-phone.ios-home-factory body#ios-18 #widgets .widget-weather .w-weather-place {
    font-size: 15px;
    font-weight: 600;
    opacity: 1;
}
html.ios-form-phone.ios-home-factory body#ios-18 #widgets .widget-weather .w-weather-temp {
    margin: 0;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
}
html.ios-form-phone.ios-home-factory body#ios-18 #widgets .widget-weather .w-weather-cond,
html.ios-form-phone.ios-home-factory body#ios-18 #widgets .widget-weather .w-weather-hl {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    line-height: 16px;
    opacity: 1;
}

/* ═══ Téléphone iPhone — baseline guide d'utilisation de l'iPhone (iOS 17/18, app absente du simulateur, §10.49) ═══
   Plein écran blanc sous la barre d'état (47 pt), barre de navigation 44 pt, grand titre 34 pt, listes iOS,
   barre d'onglets 83 pt à pictogrammes, clavier à touches rondes 78 pt, écran d'appel sombre à six boutons. */
html.ios-form-phone body.ios-springboard #ios-phone {
    z-index: 70;
}
html.ios-form-phone.ios-phone-on body.ios-springboard #iosheader {
    color: #000;
}
html.ios-form-phone.ios-phone-on body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}
html.ios-form-phone #ios-phone .ios-ph-scrim,
html.ios-form-phone #ios-phone .ios-ph-close,
html.ios-form-phone #ios-phone .ios-ph-title,
html.ios-form-phone #ios-phone #ios-ph-filter {
    display: none !important;
}
html.ios-form-phone #ios-phone .ios-ph-panel {
    padding-top: 47px;
    font-family: var(--font);
    color: #000;
    background: #fff;
    box-shadow: none;
}
html.ios-form-phone #ios-phone .ios-ph-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 44px;
    padding: 0 16px;
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-nav {
    min-width: 0;
    padding: 0;
    border: 0;
    font-size: 17px;
    font-weight: 400;
    color: #007aff;
    background: none;
}
html.ios-form-phone #ios-phone .ios-ph-nav[hidden] {
    display: block !important;
    visibility: hidden;
}
html.ios-form-phone #ios-phone .ios-ph-nav--glyph {
    font-size: 30px;
    font-weight: 300;
    line-height: 1;
}
html.ios-form-phone #ios-phone .ios-ph-seg {
    position: absolute;
    top: 6px;
    left: 50%;
    display: flex;
    width: 176px;
    height: 32px;
    margin-left: -88px;
    padding: 2px;
    border-radius: 9px;
    background: rgba(118, 118, 128, 0.12);
    box-sizing: border-box;
}
html.ios-form-phone #ios-phone .ios-ph-seg[hidden] {
    display: none;
}
html.ios-form-phone #ios-phone .ios-ph-seg button {
    flex: 1 1 0;
    border: 0;
    border-radius: 7px;
    font-size: 13px;
    font-weight: 500;
    color: #000;
    background: none;
}
html.ios-form-phone #ios-phone .ios-ph-seg button.is-on {
    font-weight: 600;
    background: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12), 0 3px 1px rgba(0, 0, 0, 0.04);
}
html.ios-form-phone #ios-phone .ios-ph-body {
    display: flex;
    flex-direction: column;
    background: #fff;
    overflow: auto;
}
html.ios-form-phone #ios-phone .ios-ph-large {
    margin: 0;
    padding: 3px 16px 8px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
    letter-spacing: 0.37px;
}
html.ios-form-phone #ios-phone .ios-ph-large[hidden] {
    display: none;
}
html.ios-form-phone #ios-phone .ios-ph-search {
    padding: 0 16px 8px;
}
html.ios-form-phone #ios-phone .ios-ph-search input {
    height: 36px;
    padding: 0 8px 0 30px;
    border: 0;
    border-radius: 10px;
    font-size: 17px;
    background: rgba(118, 118, 128, 0.12) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='6.8' cy='6.8' r='5' fill='none' stroke='%238e8e93' stroke-width='1.7'/><path d='m10.6 10.6 3.8 3.8' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round'/></svg>") 9px center / 15px no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-main {
    padding: 0;
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
html.ios-form-phone #ios-phone .ios-ph-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0;
    min-height: 60px;
    margin: 0;
    padding: 0 16px 0 40px;
    border: 0;
    border-radius: 0;
    background: none;
    cursor: pointer;
}
html.ios-form-phone #ios-phone .ios-ph-row::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 40px;
    height: 0.5px;
    background: #c6c6c8;
}
html.ios-form-phone #ios-phone .ios-ph-meta {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-width: 0;
}
html.ios-form-phone #ios-phone .ios-ph-meta strong {
    font-size: 17px;
    font-weight: 600;
    line-height: 22px;
    color: #000;
}
html.ios-form-phone #ios-phone .ios-ph-meta strong.is-missed {
    color: #ff3b30;
}
html.ios-form-phone #ios-phone .ios-ph-meta em {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 15px;
    font-style: normal;
    line-height: 20px;
    color: #8e8e93;
}
html.ios-form-phone #ios-phone .ios-ph-when {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    margin-right: 10px;
    font-size: 15px;
    color: #8e8e93;
}
html.ios-form-phone #ios-phone .ios-ph-when small {
    font-size: 13px;
}
html.ios-form-phone #ios-phone .ios-ph-info {
    position: relative;
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    padding: 0;
    border: 0;
    background: #007aff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><circle cx='11' cy='11' r='9.9' fill='none' stroke='black' stroke-width='1.5'/><circle cx='11' cy='6.6' r='1.25'/><path d='M9.2 9.4h2.5v6.2h1.4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M8.9 15.6h4.3' stroke='black' stroke-width='1.5' stroke-linecap='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><circle cx='11' cy='11' r='9.9' fill='none' stroke='black' stroke-width='1.5'/><circle cx='11' cy='6.6' r='1.25'/><path d='M9.2 9.4h2.5v6.2h1.4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M8.9 15.6h4.3' stroke='black' stroke-width='1.5' stroke-linecap='round'/></svg>") center / contain no-repeat;
}
/* Récents : pictogramme d'appel sortant dans la marge de 40 pt. */
html.ios-form-phone #ios-phone .ios-ph-dir {
    position: absolute;
    top: 50%;
    left: 16px;
    width: 14px;
    height: 14px;
    margin-top: -12px;
}
html.ios-form-phone #ios-phone .ios-ph-row--outgoing .ios-ph-dir {
    background: #8e8e93;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M3.1 1.2c.4-.3.9-.2 1.1.2l1.2 2.1c.2.4.1.8-.2 1.1l-.8.7c.5 1.2 1.4 2.2 2.6 2.8l.7-.8c.3-.3.8-.4 1.1-.2l2.1 1.2c.4.2.5.8.2 1.1l-.8 1c-.6.7-1.6.9-2.4.5C4.5 9.7 2.3 7.5 1.1 4.6.8 3.8 1 2.9 1.6 2.3z'/><path d='M8.4 1.2h4.4v4.4M12.6 1.4 8.2 5.8' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M3.1 1.2c.4-.3.9-.2 1.1.2l1.2 2.1c.2.4.1.8-.2 1.1l-.8.7c.5 1.2 1.4 2.2 2.6 2.8l.7-.8c.3-.3.8-.4 1.1-.2l2.1 1.2c.4.2.5.8.2 1.1l-.8 1c-.6.7-1.6.9-2.4.5C4.5 9.7 2.3 7.5 1.1 4.6.8 3.8 1 2.9 1.6 2.3z'/><path d='M8.4 1.2h4.4v4.4M12.6 1.4 8.2 5.8' fill='none' stroke='black' stroke-width='1.3' stroke-linecap='round'/></svg>") center / contain no-repeat;
}
/* Favoris et Contacts : monogramme gris iOS. */
html.ios-form-phone #ios-phone .ios-ph-av {
    display: flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin-right: 12px;
    border-radius: 50%;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(180deg, #a5abb9 0%, #858994 100%) !important;
}
html.ios-form-phone #ios-phone .ios-ph-list--favorites .ios-ph-row {
    padding-left: 16px;
}
html.ios-form-phone #ios-phone .ios-ph-list--favorites .ios-ph-row::after {
    left: 68px;
}
html.ios-form-phone #ios-phone .ios-ph-sub-ico {
    width: 13px;
    height: 13px;
    background: #8e8e93;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M3.6 1c.5-.3 1-.2 1.3.3l1.3 2.3c.2.4.1.9-.2 1.2l-.9.8c.6 1.3 1.6 2.4 2.9 3l.8-.9c.3-.3.8-.4 1.2-.2l2.3 1.3c.5.3.6.9.3 1.3l-.9 1.1c-.7.8-1.8 1-2.7.6C5.2 10.4 2.7 8 1.4 4.8 1 3.9 1.3 2.8 2 2.1z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'><path d='M3.6 1c.5-.3 1-.2 1.3.3l1.3 2.3c.2.4.1.9-.2 1.2l-.9.8c.6 1.3 1.6 2.4 2.9 3l.8-.9c.3-.3.8-.4 1.2-.2l2.3 1.3c.5.3.6.9.3 1.3l-.9 1.1c-.7.8-1.8 1-2.7.6C5.2 10.4 2.7 8 1.4 4.8 1 3.9 1.3 2.8 2 2.1z'/></svg>") center / contain no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-list--contacts .ios-ph-row {
    min-height: 44px;
    padding-left: 16px;
}
html.ios-form-phone #ios-phone .ios-ph-list--contacts .ios-ph-row::after {
    left: 16px;
}
html.ios-form-phone #ios-phone .ios-ph-list--contacts .ios-ph-meta strong {
    font-weight: 400;
}
html.ios-form-phone #ios-phone .ios-ph-list--contacts .ios-ph-meta strong b {
    font-weight: 600;
}
html.ios-form-phone #ios-phone .ios-ph-mycard {
    min-height: 76px !important;
    cursor: default;
}
html.ios-form-phone #ios-phone .ios-ph-mycard .ios-ph-av {
    flex-basis: 60px;
    width: 60px;
    height: 60px;
}
html.ios-form-phone #ios-phone .ios-ph-av--me {
    -webkit-mask: none;
}
html.ios-form-phone #ios-phone .ios-ph-mycard .ios-ph-meta strong {
    font-size: 20px !important;
    font-weight: 600 !important;
}
html.ios-form-phone #ios-phone .ios-ph-section {
    padding: 4px 16px;
    font-size: 15px;
    font-weight: 600;
    color: #8e8e93;
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-unheard {
    position: absolute;
    top: 50%;
    left: 20px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-radius: 50%;
}
html.ios-form-phone #ios-phone .ios-ph-row.is-unheard .ios-ph-unheard {
    background: #007aff;
}
html.ios-form-phone #ios-phone .ios-ph-empty {
    padding: 120px 16px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    color: #8e8e93;
}

/* Clavier : touches rondes 78 pt (#e5e5ea), chiffres 36 pt, lettres 10 pt ; appel vert ; effacer à droite. */
html.ios-form-phone #ios-phone.ios-phone--keypad .ios-ph-main {
    display: none;
}
html.ios-form-phone #ios-phone .ios-ph-keypad-pane {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1 1 auto;
    padding: 0;
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-keypad-pane[hidden] {
    display: none !important;
}
html.ios-form-phone #ios-phone .ios-ph-dial {
    height: 58px;
    margin: 64px 0 0;
    font-size: 36px;
    font-weight: 400;
    letter-spacing: 1px;
    color: #000;
}
html.ios-form-phone #ios-phone .ios-ph-add-number {
    height: 22px;
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    font-size: 15px;
    color: #007aff;
    background: none;
}
html.ios-form-phone #ios-phone .ios-ph-add-number[hidden] {
    display: block !important;
    visibility: hidden;
}
html.ios-form-phone #ios-phone .ios-ph-keys {
    display: grid;
    grid-template-columns: repeat(3, 78px);
    gap: 14px 24px;
    margin: 0;
}
html.ios-form-phone #ios-phone .ios-ph-key {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 78px;
    height: 78px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #000;
    background: #e5e5ea;
}
html.ios-form-phone #ios-phone .ios-ph-key:active {
    background: #c7c7cc;
}
html.ios-form-phone #ios-phone .ios-ph-key strong {
    font-size: 36px;
    font-weight: 400;
    line-height: 38px;
}
html.ios-form-phone #ios-phone .ios-ph-key span {
    font-size: 10px;
    font-weight: 700;
    line-height: 12px;
    letter-spacing: 2px;
    color: #000;
}
html.ios-form-phone #ios-phone .ios-ph-key-actions {
    display: grid;
    grid-template-columns: repeat(3, 78px);
    gap: 24px;
    align-items: center;
    justify-items: center;
    margin: 14px 0 0;
}
html.ios-form-phone #ios-phone .ios-ph-call-btn {
    width: 78px;
    height: 78px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #34c759 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><path fill='white' d='M8.2 3.2c1-.7 2.3-.4 2.9.6l2.8 4.9c.5.9.3 2-.5 2.7l-1.9 1.7c1.3 2.9 3.6 5.2 6.4 6.6l1.7-1.9c.7-.8 1.8-1 2.7-.5l4.9 2.8c1 .6 1.3 1.9.6 2.9l-1.9 2.5c-1.4 1.8-3.9 2.4-6 1.5C14 24.6 7.4 18 4.9 11.6c-.9-2.1-.3-4.6 1.5-6z'/></svg>") center / 34px no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-del {
    width: 30px;
    height: 24px;
    padding: 0;
    border: 0;
    visibility: hidden;
    background: #c7c7cc;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 24'><path d='M9.5 2h17a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3h-17L.6 12z' fill='black'/><path d='m14.5 7.5 9 9m0-9-9 9' stroke='white' stroke-width='2.2' stroke-linecap='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 24'><path d='M9.5 2h17a3 3 0 0 1 3 3v14a3 3 0 0 1-3 3h-17L.6 12z' fill='black'/><path d='m14.5 7.5 9 9m0-9-9 9' stroke='white' stroke-width='2.2' stroke-linecap='round'/></svg>") center / contain no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-del.is-visible {
    visibility: visible;
}

/* Barre d'onglets 83 pt : pictogrammes SF approchés (étoile, horloge, personne, grille, bande) en masques. */
html.ios-form-phone #ios-phone .ios-ph-tabs {
    display: flex;
    flex: 0 0 83px;
    gap: 0;
    padding: 7px 4px 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    background: rgba(249, 249, 249, 0.94);
}
html.ios-form-phone #ios-phone .ios-ph-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    flex: 1 1 0;
    padding: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 500;
    line-height: 12px;
    color: #999;
}
html.ios-form-phone #ios-phone .ios-ph-tab.is-on {
    color: #007aff;
}
html.ios-form-phone #ios-phone .ios-ph-tab-ico {
    display: block;
    width: 28px;
    height: 26px;
    background: currentColor;
    -webkit-mask: var(--ph-tab-glyph) center / contain no-repeat;
    mask: var(--ph-tab-glyph) center / contain no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-tab[data-ph-tab="favorites"] { --ph-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><path d='M14 1.6l3.6 7.6 8.3 1-6.1 5.7 1.6 8.2L14 20l-7.4 4.1 1.6-8.2-6.1-5.7 8.3-1z'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-tab[data-ph-tab="recents"] { --ph-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><circle cx='14' cy='13' r='11.5'/><path d='M14 6v7.5h5.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-tab[data-ph-tab="contacts"] { --ph-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><defs><mask id='m'><rect width='28' height='26' fill='white'/><circle cx='14' cy='10' r='4.3' fill='black'/><path d='M6.2 21c1.7-3.3 4.6-4.9 7.8-4.9s6.1 1.6 7.8 4.9' fill='black'/></mask></defs><circle cx='14' cy='13' r='11.5' mask='url(%23m)'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-tab[data-ph-tab="keypad"] { --ph-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><g><circle cx='7' cy='4' r='2.8'/><circle cx='14' cy='4' r='2.8'/><circle cx='21' cy='4' r='2.8'/><circle cx='7' cy='11' r='2.8'/><circle cx='14' cy='11' r='2.8'/><circle cx='21' cy='11' r='2.8'/><circle cx='7' cy='18' r='2.8'/><circle cx='14' cy='18' r='2.8'/><circle cx='21' cy='18' r='2.8'/><circle cx='14' cy='24' r='1.9'/></g></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-tab[data-ph-tab="voicemail"] { --ph-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><circle cx='7.5' cy='13' r='5' fill='none' stroke='black' stroke-width='2.4'/><circle cx='20.5' cy='13' r='5' fill='none' stroke='black' stroke-width='2.4'/><path d='M7.5 18h13' stroke='black' stroke-width='2.4'/></svg>"); }

/* Fiche contact (ⓘ) : poussée plein écran, retour « ‹ Recents ». */
html.ios-form-phone #ios-phone .ios-ph-detail {
    position: absolute;
    inset: 47px 0 0;
    z-index: 3;
    display: flex;
    flex-direction: column;
    border-radius: 0;
    background: #f2f2f7;
}
html.ios-form-phone #ios-phone .ios-ph-detail-head {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 8px;
}
html.ios-form-phone #ios-phone .ios-ph-detail-head button {
    padding: 0 0 0 18px;
    border: 0;
    font-size: 17px;
    color: #007aff;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10 2 2 10l8 8' fill='none' stroke='%23007aff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") left center / 11px 19px no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-detail-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 16px;
    overflow: auto;
}
html.ios-form-phone #ios-phone .ios-ph-detail-av {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 90px;
    height: 90px;
    border-radius: 50%;
    font-size: 38px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(180deg, #a5abb9 0%, #858994 100%) !important;
}
html.ios-form-phone #ios-phone .ios-ph-detail-body h2 {
    margin: 10px 0 16px;
    font-size: 28px;
    font-weight: 400;
}
html.ios-form-phone #ios-phone .ios-ph-detail-acts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    width: 100%;
    margin: 0 0 16px;
}
html.ios-form-phone #ios-phone .ios-ph-detail-acts button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    height: 58px;
    padding: 9px 0 0;
    border: 0;
    border-radius: 10px;
    font-size: 11px;
    color: #007aff;
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-detail-acts i {
    width: 24px;
    height: 22px;
    background: #007aff;
    -webkit-mask: var(--ph-act) center / contain no-repeat;
    mask: var(--ph-act) center / contain no-repeat;
}
html.ios-form-phone #ios-phone [data-ph-ico="message"] { --ph-act: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'><path d='M12 1.5C6 1.5 1.3 5.4 1.3 10.2c0 2.6 1.4 5 3.6 6.6-.2 1.6-1 3-2.2 4 2.4 0 4.4-.9 5.8-2.2 1.1.3 2.3.5 3.5.5 6 0 10.7-3.9 10.7-8.8S18 1.5 12 1.5z'/></svg>"); }
html.ios-form-phone #ios-phone [data-ph-ico="call"] { --ph-act: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'><path d='M6.2 1.4c.7-.5 1.7-.3 2.1.5L10.4 5.5c.4.7.2 1.5-.4 2L8.6 8.8c1 2.2 2.7 3.9 4.9 5l1.3-1.4c.5-.6 1.4-.8 2-.4l3.6 2.1c.8.4 1 1.4.5 2.1l-1.4 1.9c-1.1 1.4-2.9 1.8-4.5 1.1C9.4 17.4 4.6 12.5 2.7 7.7c-.7-1.6-.2-3.4 1.1-4.5z'/></svg>"); }
html.ios-form-phone #ios-phone [data-ph-ico="video"] { --ph-act: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'><rect x='1' y='5' width='15' height='12' rx='3'/><path d='m17 9.5 6-3.5v10l-6-3.5z'/></svg>"); }
html.ios-form-phone #ios-phone [data-ph-ico="mail"] { --ph-act: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'><rect x='1' y='3.5' width='22' height='15' rx='2.5'/><path d='m2 5 10 7.5L22 5' fill='none' stroke='white' stroke-width='1.6'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-detail-card {
    width: 100%;
    margin: 0 0 16px;
    padding: 9px 16px;
    border-radius: 10px;
    box-sizing: border-box;
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-detail-label {
    margin: 0;
    font-size: 15px;
    color: #000;
}
html.ios-form-phone #ios-phone .ios-ph-detail-num {
    margin: 2px 0 0;
    font-size: 17px;
    color: #007aff;
    cursor: pointer;
}
html.ios-form-phone #ios-phone .ios-ph-detail-link {
    padding: 4px 0;
    border: 0;
    font-size: 17px;
    color: #007aff;
    background: none;
}

/* Écran d'appel sortant : fond sombre flouté, nom 32 pt, statut, six boutons ronds légendés, raccrocher rouge. */
html.ios-form-phone #ios-phone .ios-ph-call {
    position: absolute;
    inset: 0;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 110px 0 0;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(180deg, #4a4f57 0%, #2a2d33 55%, #1c1e22 100%);
}
html.ios-form-phone #ios-phone .ios-ph-call-kicker,
html.ios-form-phone #ios-phone .ios-ph-call-av {
    display: none;
}
html.ios-form-phone #ios-phone .ios-ph-call-name {
    order: 1;
    margin: 0;
    font-size: 32px;
    font-weight: 400;
    color: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-call-status {
    order: 2;
    margin: 6px 0 0;
    font-size: 17px;
    color: rgba(255, 255, 255, 0.6);
}
html.ios-form-phone #ios-phone .ios-ph-call-controls {
    order: 3;
    display: grid;
    grid-template-columns: repeat(3, 78px);
    gap: 26px 32px;
    margin: auto 0 0;
    padding: 0 0 70px;
}
html.ios-form-phone #ios-phone .ios-ph-ctrl {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    width: 78px;
    padding: 0;
    border: 0;
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background: none;
}
html.ios-form-phone #ios-phone .ios-ph-ctrl[hidden] {
    display: none !important;
}
html.ios-form-phone #ios-phone .ios-ph-ctrl i {
    width: 78px;
    height: 78px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.22) var(--ph-ctrl) center / 34px no-repeat;
}
html.ios-form-phone #ios-phone .ios-ph-ctrl.is-on i {
    background-color: #fff;
    filter: invert(1);
}
html.ios-form-phone #ios-phone .ios-ph-ctrl[data-ph-ico="mute"] { --ph-ctrl: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'><rect x='12' y='4' width='10' height='17' rx='5' fill='white'/><path d='M8 16a9 9 0 0 0 18 0M17 25v5M12 30h10' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'/><path d='M6 4l22 26' stroke='white' stroke-width='2.4' stroke-linecap='round'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-ctrl[data-ph-ico="keypad"] { --ph-ctrl: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34' fill='white'><circle cx='9' cy='7' r='3'/><circle cx='17' cy='7' r='3'/><circle cx='25' cy='7' r='3'/><circle cx='9' cy='15' r='3'/><circle cx='17' cy='15' r='3'/><circle cx='25' cy='15' r='3'/><circle cx='9' cy='23' r='3'/><circle cx='17' cy='23' r='3'/><circle cx='25' cy='23' r='3'/><circle cx='17' cy='30.5' r='2.4'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-ctrl[data-ph-ico="audio"] { --ph-ctrl: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'><path d='M5 13h5l7-6v20l-7-6H5z' fill='white'/><path d='M21 12a6 6 0 0 1 0 10M24.5 8.5a11 11 0 0 1 0 17' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-ctrl[data-ph-ico="add"] { --ph-ctrl: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'><path d='M17 6v22M6 17h22' stroke='white' stroke-width='2.6' stroke-linecap='round'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-ctrl[data-ph-ico="facetime"] { --ph-ctrl: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34' fill='white'><rect x='3' y='9' width='19' height='16' rx='4'/><path d='m23 15 8-5v14l-8-5z'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-ctrl[data-ph-ico="contacts"] { --ph-ctrl: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34' fill='white'><circle cx='13' cy='12' r='5'/><path d='M3 28c1-5.5 5-8 10-8s9 2.5 10 8z'/><circle cx='23.5' cy='11' r='4'/><path d='M22 19c4.6-.3 8 2 9 7h-6.5c-.4-2.8-1.4-5-2.5-7z'/></svg>"); }
html.ios-form-phone #ios-phone .ios-ph-ctrl--end {
    grid-column: 2;
    width: 78px;
    height: 78px;
    margin-top: 4px;
    border-radius: 50%;
    background: #ff3b30 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 34 34'><path fill='white' d='M3.4 18.6c-.6-.7-.6-1.8.1-2.4C7.1 13 11.9 11.4 17 11.4s9.9 1.6 13.5 4.8c.7.6.7 1.7.1 2.4l-2.3 2.6c-.6.6-1.5.7-2.2.3l-3.4-2c-.6-.4-.9-1.1-.8-1.8l.3-1.9c-1.6-.5-3.4-.8-5.2-.8s-3.6.3-5.2.8l.3 1.9c.1.7-.2 1.4-.8 1.8l-3.4 2c-.7.4-1.6.3-2.2-.3z'/></svg>") center / 40px no-repeat;
}
html.ios-form-phone.ios-phone-on body.ios-springboard #iosheader #heure,
html.ios-form-phone.ios-phone-on body.ios-springboard #iosheader #statusright {
    color: #000;
}
html.ios-form-phone.ios-phone-on.ios-phone-calling body.ios-springboard #iosheader,
html.ios-form-phone.ios-phone-on.ios-phone-calling body.ios-springboard #iosheader #heure,
html.ios-form-phone.ios-phone-on.ios-phone-calling body.ios-springboard #iosheader #statusright {
    color: #fff;
}
html.ios-form-phone.ios-phone-on.ios-phone-calling body.ios-springboard #iosheader .sb-bars i {
    background: #fff;
}
html.ios-form-phone #ios-phone .ios-ph-detail {
    inset: 47px 0 0;
    width: auto;
    margin: 0;
    padding: 0;
    box-shadow: none;
}
html.ios-form-phone #ios-phone .ios-ph-detail-body {
    align-items: stretch;
}
html.ios-form-phone #ios-phone .ios-ph-detail-av,
html.ios-form-phone #ios-phone .ios-ph-detail-body h2 {
    align-self: center;
}
html.ios-form-phone #ios-phone .ios-ph-detail-card {
    text-align: left;
}
/* Téléphone : barre d'accueil sombre au-dessus de l'app (on quitte par le geste d'accueil, pas par un bouton). */
html.ios-form-phone.ios-phone-on body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #000;
    box-shadow: none;
}
html.ios-form-phone.ios-phone-on.ios-phone-calling body.ios-springboard #ios-shell-home.ios-shell-home {
    background: #fff;
}

/* ═══ Mail iPhone — baseline guide d'utilisation de l'iPhone (iOS 17/18, app absente du simulateur, §10.50) ═══
   Clair (apparence par défaut), plein écran sous la barre d'état ; Boîtes aux lettres en liste groupée ; Inbox
   en grand titre + recherche + lignes (pastille bleue non lu, heure ›) ; barre du bas filtre / « Updated Just
   Now » / nouveau message ; message : ‹ Inbox, ⌃ ⌄, monogramme, objet, barre drapeau / dossier / corbeille /
   répondre / nouveau ; « Répondre » ouvre une feuille d'actions. */
html:not(.ios-form-phone):not(.ios-form-tablet) #ios-mail .ios-mail-phone-only {
    display: none !important;
}
html.ios-form-phone body.ios-springboard #ios-mail {
    z-index: 70;
}
html.ios-form-phone.ios-mail-on body.ios-springboard #iosheader,
html.ios-form-phone.ios-mail-on body.ios-springboard #iosheader #heure,
html.ios-form-phone.ios-mail-on body.ios-springboard #iosheader #statusright {
    color: #000;
}
html.ios-form-phone.ios-mail-on body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}
html.ios-form-phone.ios-mail-on body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #000;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-scrim,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-close],
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-title,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-compose,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-filters,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-badges,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-detail-empty {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-panel {
    font-family: var(--font);
    color: #000;
    background: #fff;
    box-shadow: none;
}
html.ios-form-phone #ios-mail .ios-mail-boxes,
html.ios-form-phone #ios-mail .ios-mail-list-pane,
html.ios-form-phone #ios-mail .ios-mail-detail {
    padding-top: 47px;
    box-sizing: border-box;
    color: #000;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-boxes {
    background: #f2f2f7;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-head {
    position: relative;
    flex: 0 0 44px;
    height: 44px;
    padding: 0 16px;
    border: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-head button {
    min-width: 0;
    padding: 0;
    font-size: 17px;
    font-weight: 400;
    color: #007aff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-edit {
    margin-left: auto;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-back-boxes,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-back-list {
    padding-left: 18px !important;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10 2 2 10l8 8' fill='none' stroke='%23007aff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") left center / 11px 19px no-repeat !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-head-spacer {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-large {
    margin: 0;
    padding: 3px 16px 8px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
    letter-spacing: 0.37px;
}
/* Boîtes aux lettres : liste groupée en encart. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-acct {
    margin: 14px 32px 6px;
    font-size: 13px;
    text-transform: uppercase;
    color: #6d6d72;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-box-list {
    gap: 0;
    margin: 0 16px;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-box {
    position: relative;
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 34px 0 52px;
    border-radius: 0;
    font-size: 17px;
    font-weight: 400;
    text-align: left;
    color: #000;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'><path d='m1.5 1.5 5 5.5-5 5.5' fill='none' stroke='%23c4c4c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 16px center / 8px 14px no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-box + .ios-mail-box::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    left: 52px;
    height: 0.5px;
    background: #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-box::before {
    content: "";
    position: absolute;
    left: 14px;
    width: 26px;
    height: 22px;
    background: #007aff;
    -webkit-mask: var(--mail-box-ico) center / contain no-repeat;
    mask: var(--mail-box-ico) center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-box.is-on {
    color: #000;
    background-color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-box-n {
    margin-left: auto;
    font-size: 17px;
    font-weight: 400;
    color: #8e8e93;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="inbox"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M3 12.5 6 3.5h14l3 9V19a1.5 1.5 0 0 1-1.5 1.5h-17A1.5 1.5 0 0 1 3 19z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/><path d='M3.5 12.5h5.5a4 4 0 0 0 8 0h5.5' fill='none' stroke='black' stroke-width='1.8'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="vip"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M13 1.5l3.2 6.6 7.3.9-5.4 5 1.4 7.2L13 17.6l-6.5 3.6 1.4-7.2-5.4-5 7.3-.9z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="flagged"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M6 20.5V2.5M6 3c4-2 7 2 13 0v9c-6 2-9-2-13 0' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="drafts"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M6 1.5h9l5 5V20.5H6z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/><path d='M15 1.5v5h5' fill='none' stroke='black' stroke-width='1.7'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="sent"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M23 2 3 9.5l7.5 3L13.5 20zM10.5 12.5 23 2' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="archive"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><rect x='2.5' y='2.5' width='21' height='5' rx='1' fill='none' stroke='black' stroke-width='1.7'/><path d='M4.5 7.5v12h17v-12M10 11.5h6' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="junk"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M5 5.5h16l-1.5 15h-13zM3 5.5h20M10 2h6' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round' stroke-linecap='round'/><path d='m10 10 6 6m0-6-6 6' stroke='black' stroke-width='1.7' stroke-linecap='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail [data-mail-box="trash"] { --mail-box-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M5 5.5h16l-1.5 15h-13zM3 5.5h20M10 2h6M10.5 9.5v7M15.5 9.5v7' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round' stroke-linecap='round'/></svg>"); }
/* Liste des messages. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-search {
    padding: 0 16px 8px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-search input {
    width: 100%;
    height: 36px;
    padding: 0 8px 0 30px;
    border: 0;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 17px;
    color: #000;
    background: rgba(118, 118, 128, 0.12) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='6.8' cy='6.8' r='5' fill='none' stroke='%238e8e93' stroke-width='1.7'/><path d='m10.6 10.6 3.8 3.8' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round'/></svg>") 9px center / 15px no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-list {
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    overflow: auto;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    width: 100%;
    margin: 0;
    padding: 10px 16px 11px 30px;
    border: 0;
    border-radius: 0;
    font-family: var(--font);
    text-align: left;
    color: #000;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row.is-selected {
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 30px;
    height: 0.5px;
    background: #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row.is-unread::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 11px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #007aff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-top {
    display: flex;
    grid-column: 1 / -1;
    align-items: baseline;
    gap: 6px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-top strong {
    flex: 1 1 auto;
    min-width: 0;
    overflow: hidden;
    font-size: 17px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-top time {
    padding-right: 14px;
    font-size: 15px;
    color: #8e8e93;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'><path d='m1.5 1.5 5 5.5-5 5.5' fill='none' stroke='%23c4c4c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") right center / 7px 12px no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-thread {
    font-size: 13px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-sub {
    grid-column: 1 / -1;
    font-size: 15px;
    line-height: 20px;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-prev {
    display: -webkit-box;
    grid-column: 1 / -1;
    overflow: hidden;
    font-size: 15px;
    line-height: 20px;
    color: #8e8e93;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row.is-flagged .ios-mail-row-top strong::after {
    content: "";
    display: inline-block;
    width: 11px;
    height: 12px;
    margin-left: 6px;
    background: #ff9500;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 12'><path d='M1.5 11.5V1M1.5 1.4c2.3-1.2 4.2 1.2 8 0v5.5c-3.8 1.2-5.7-1.2-8 0z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 12'><path d='M1.5 11.5V1M1.5 1.4c2.3-1.2 4.2 1.2 8 0v5.5c-3.8 1.2-5.7-1.2-8 0z'/></svg>") center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-empty-row {
    padding: 120px 16px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    color: #8e8e93;
}
/* Barres d'outils du bas (49 + 34 pt). */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-bar,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-head-acts {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    height: 83px;
    padding: 9px 16px 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.3);
    box-sizing: border-box;
    background: rgba(249, 249, 249, 0.94);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-list {
    padding-bottom: 83px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-updated {
    margin: 0;
    font-size: 12px;
    line-height: 14px;
    text-align: center;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-updated b {
    font-weight: 400;
    color: #007aff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-tool,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-head-acts button,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-updown button {
    width: 30px;
    min-width: 0;
    height: 28px;
    padding: 0;
    border: 0;
    font-size: 0;
    color: transparent;
    background: #007aff;
    -webkit-mask: var(--mail-tool) center / contain no-repeat;
    mask: var(--mail-tool) center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-unread,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-archive {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-filter-btn { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><circle cx='14' cy='14' r='12' fill='none' stroke='black' stroke-width='1.8'/><path d='M8 10h12M10 14h8M12 18h4' stroke='black' stroke-width='1.8' stroke-linecap='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-filter-btn.is-on { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><defs><mask id='m'><rect width='28' height='28' fill='white'/><path d='M8 10h12M10 14h8M12 18h4' stroke='black' stroke-width='1.8' stroke-linecap='round'/></mask></defs><circle cx='14' cy='14' r='13' mask='url(%23m)'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-compose-bar,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-compose-bar2 { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M20 4.5H7A3.5 3.5 0 0 0 3.5 8v13A3.5 3.5 0 0 0 7 24.5h13a3.5 3.5 0 0 0 3.5-3.5V12' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/><path d='M23.5 2.8 25.2 4.5 14 15.7l-2.6.9.9-2.6z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-flag { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M7 25.5V3M7 3.8c5-2.6 8.6 2.6 15 0v11c-6.4 2.6-10-2.6-15 0' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-flag.is-on { background: #ff9500; --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M7 25.5V3' stroke='black' stroke-width='1.8' stroke-linecap='round'/><path d='M7 3.8c5-2.6 8.6 2.6 15 0v11c-6.4 2.6-10-2.6-15 0z'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-move { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M2.5 8V22a2 2 0 0 0 2 2h19a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2H13l-2.5-3h-6a2 2 0 0 0-2 2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-trash { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M6 7.5h16l-1.4 17h-13.2zM3.5 7.5h21M11 3.5h6M11.5 11.5v9M16.5 11.5v9' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' stroke-linecap='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-reply-menu { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M11.5 5 3 12.5l8.5 7.5v-4.5c6 0 10 1.5 13.5 6.5-1-7-4.5-12-13.5-13z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/></svg>"); }
/* Message. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-updown {
    display: flex;
    gap: 22px;
    margin-left: auto;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-prev { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='m5 18 9-9 9 9' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-next { --mail-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='m5 10 9 9 9-9' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-detail-body {
    flex: 1 1 auto;
    padding: 6px 16px 100px;
    overflow: auto;
    color: #000;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-detail-body h2 {
    order: 2;
    margin: 14px 0 12px;
    font-size: 20px;
    font-weight: 600;
    line-height: 25px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-detail-body {
    display: flex;
    flex-direction: column;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-detail-body[hidden] {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-meta {
    position: relative;
    order: 1;
    display: grid;
    grid-template-columns: 40px 1fr auto;
    column-gap: 10px;
    align-items: center;
    margin: 0;
    padding: 0 0 12px;
    border-bottom: 0.5px solid #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-av {
    display: flex;
    grid-row: 1 / 3;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(180deg, #a5abb9 0%, #858994 100%);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-meta strong {
    font-size: 17px;
    font-weight: 600;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-meta time {
    grid-row: 1;
    grid-column: 3;
    font-size: 15px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-email,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-to {
    grid-column: 2 / 4;
    font-size: 15px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-images {
    order: 3;
    margin: 0 0 10px;
    padding: 8px 12px;
    border-radius: 10px;
    font-size: 15px;
    color: #000;
    background: #f2f2f7;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-images button {
    border: 0;
    font-size: 15px;
    color: #007aff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail #ios-mail-text {
    order: 4;
    margin: 0;
    font-family: var(--font);
    font-size: 17px;
    line-height: 22px;
    white-space: pre-wrap;
    color: #000;
}
/* Feuille « Répondre » : liste d'actions + Annuler, sur voile. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-actions {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail.ios-mail--sheet .ios-mail-detail::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    background: rgba(0, 0, 0, 0.35);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail.ios-mail--sheet .ios-mail-actions {
    position: absolute;
    right: 8px;
    bottom: 34px;
    left: 8px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail.ios-mail--sheet .ios-mail-actions button {
    height: 57px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-family: var(--font);
    font-size: 20px;
    font-weight: 400;
    color: #007aff;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: inset 0 -0.5px 0 rgba(60, 60, 67, 0.3);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail.ios-mail--sheet .ios-mail-actions button:first-child {
    border-radius: 13px 13px 0 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail.ios-mail--sheet .ios-mail-actions button:nth-last-child(2) {
    border-radius: 0 0 13px 13px;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail.ios-mail--sheet .ios-mail-actions .ios-mail-sheet-cancel {
    margin-top: 8px;
    border-radius: 13px;
    font-weight: 600;
    box-shadow: none;
}
/* Nouveau message : feuille claire Cancel / New Message / Send. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose {
    position: absolute;
    inset: 57px 0 0;
    z-index: 6;
    display: flex;
    flex-direction: column;
    padding: 0;
    border-radius: 12px 12px 0 0;
    color: #000;
    background: #fff;
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.2);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose[hidden],
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move[hidden] {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    padding: 0 16px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose-head p {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose-head button {
    border: 0;
    font-size: 17px;
    color: #007aff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose label {
    display: flex;
    gap: 6px;
    padding: 12px 16px;
    border-bottom: 0.5px solid #c6c6c8;
    font-size: 17px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose input,
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose textarea {
    flex: 1 1 auto;
    border: 0;
    outline: 0;
    font-family: var(--font);
    font-size: 17px;
    color: #000;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose textarea {
    padding: 12px 16px;
    resize: none;
}
html.ios-form-phone #ios-mail .ios-mail-detail .ios-mail-head {
    position: static;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row.is-flagged .ios-mail-row-sub::before {
    content: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-search input::placeholder {
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose {
    right: 0;
    left: 0;
    width: auto;
    gap: 0;
    margin: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move {
    position: absolute;
    inset: 57px 0 0;
    z-index: 6;
    width: auto;
    margin: 0;
    padding: 0;
    border-radius: 12px 12px 0 0;
    color: #000;
    background: #f2f2f7;
}
/* « Move to… » : feuille plein hauteur, boîtes en liste groupée claire avec pictogramme dossier. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move {
    top: 57px;
    right: 0;
    bottom: 0;
    left: 0;
    max-height: none;
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.2);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move .ios-mail-compose-head {
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 8px 16px;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move-item {
    position: relative;
    height: 44px;
    margin: 0;
    padding: 0 16px 0 52px;
    border: 0;
    border-radius: 0;
    font-family: var(--font);
    font-size: 17px;
    font-weight: 400;
    text-align: left;
    color: #000;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move-item + .ios-mail-move-item {
    box-shadow: inset 52px 0.5px 0 #fff, inset 0 0.5px 0 #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-move-item::before {
    content: "";
    position: absolute;
    top: 11px;
    left: 14px;
    width: 26px;
    height: 22px;
    background: #007aff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M2.5 5V18a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V7.5A1.5 1.5 0 0 0 22 6H12l-2.2-2.5H4A1.5 1.5 0 0 0 2.5 5z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M2.5 5V18a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V7.5A1.5 1.5 0 0 0 22 6H12l-2.2-2.5H4A1.5 1.5 0 0 0 2.5 5z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/></svg>") center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-compose-head .ios-mail-head-spacer {
    display: block;
    width: 52px;
    visibility: hidden;
}

/* ─── Mail iPad (iPadOS 17/18, deux colonnes : liste 320 pt | message) — plein écran clair sous la barre
   d'état de 24 pt ; « ‹ Mailboxes » remplace la liste par les boîtes ; outils du message en haut à droite. ─── */
html.ios-form-tablet #ios-mail {
    z-index: 60;
}
html.ios-form-tablet.ios-mail-on body.ios-springboard #iosheader,
html.ios-form-tablet.ios-mail-on body.ios-springboard #iosheader #heure,
html.ios-form-tablet.ios-mail-on body.ios-springboard #iosheader #statusright {
    color: #000;
}
html.ios-form-tablet.ios-mail-on body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}
html.ios-form-tablet #ios-mail .ios-mail-panel {
    width: 100%;
    height: 100%;
    margin: 0;
    padding-top: 24px;
    border-radius: 0;
    box-sizing: border-box;
}
html.ios-form-tablet #ios-mail .ios-mail-boxes {
    display: none;
    flex: 0 0 320px;
    border-right: 0.5px solid #c6c6c8;
}
html.ios-form-tablet #ios-mail.ios-mail--boxes .ios-mail-boxes {
    display: flex;
}
html.ios-form-tablet #ios-mail.ios-mail--boxes .ios-mail-list-pane {
    display: none;
}
html.ios-form-tablet #ios-mail .ios-mail-list-pane {
    position: relative;
    flex: 0 0 320px;
    border-right: 0.5px solid #c6c6c8;
}
html.ios-form-tablet #ios-mail .ios-mail-detail {
    position: relative;
    flex: 1 1 auto;
}
html.ios-form-tablet #ios-mail .ios-mail-detail .ios-mail-head {
    justify-content: flex-start;
    gap: 22px;
}
html.ios-form-tablet #ios-mail .ios-mail-updown {
    margin-left: 0;
}
html.ios-form-tablet #ios-mail .ios-mail-head-acts {
    position: static;
    display: flex;
    gap: 26px;
    height: auto;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: none;
}
html.ios-form-tablet #ios-mail .ios-mail-bar {
    height: 50px;
}
html.ios-form-tablet #ios-mail .ios-mail-list {
    padding-bottom: 50px;
}
html.ios-form-tablet #ios-mail .ios-mail-row.is-selected {
    color: #fff;
    background: #007aff;
}
html.ios-form-tablet #ios-mail .ios-mail-row.is-selected .ios-mail-row-sub,
html.ios-form-tablet #ios-mail .ios-mail-row.is-selected .ios-mail-row-prev,
html.ios-form-tablet #ios-mail .ios-mail-row.is-selected time,
html.ios-form-tablet #ios-mail .ios-mail-row.is-selected .ios-mail-row-thread {
    color: #fff;
}
html.ios-form-tablet #ios-mail .ios-mail-row.is-selected::before {
    background: #fff;
}
html.ios-form-tablet #ios-mail .ios-mail-detail-body {
    padding: 10px 28px 40px;
}
html.ios-form-tablet #ios-mail .ios-mail-detail-empty {
    display: flex !important;
    align-items: center;
    justify-content: center;
    flex: 1 1 auto;
    font-size: 17px;
    color: #8e8e93;
}
html.ios-form-tablet #ios-mail .ios-mail-detail-empty[hidden] {
    display: none !important;
}
html.ios-form-tablet #ios-mail.ios-mail--sheet .ios-mail-actions {
    top: 64px;
    right: 16px;
    bottom: auto;
    left: auto;
    width: 280px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
}
html.ios-form-tablet #ios-mail.ios-mail--sheet .ios-mail-actions .ios-mail-sheet-cancel {
    display: none;
}
html.ios-form-tablet #ios-mail.ios-mail--sheet .ios-mail-actions button:nth-last-child(2) {
    border-radius: 0 0 13px 13px;
}
html.ios-form-tablet #ios-mail.ios-mail--sheet .ios-mail-detail::after {
    background: rgba(0, 0, 0, 0.1);
}
html.ios-form-tablet #ios-mail .ios-mail-compose,
html.ios-form-tablet #ios-mail .ios-mail-move {
    top: 60px;
    right: 90px;
    bottom: 40px;
    left: 90px;
    border-radius: 12px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-head {
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-mail .ios-mail-row-sub {
    font-weight: 400;
}
html.ios-form-tablet #ios-mail #ios-mail-compose-bar {
    visibility: hidden;
}

/* ═══ Apps plein écran du shell — Notes, Horloge, Calculette, Musique (§10.51) ═══
   Comme Téléphone et Mail : l'app couvre l'écran sous la barre d'état (z 75), la barre d'accueil (z 80)
   reste visible et ferme l'app. Apps sombres (Horloge, Calculette) : barre d'état et barre d'accueil
   blanches ; apps claires (Notes, Musique) : noires. */
html.ios-form-phone body.ios-springboard #ios-calculator,
html.ios-form-phone body.ios-springboard #ios-timer,
html.ios-form-phone body.ios-springboard #ios-notes,
html.ios-form-phone body.ios-springboard #ios-music {
    z-index: 70;
}
html.ios-form-phone:is(.ios-calculator-on, .ios-timer-on, .ios-notes-on, .ios-music-on) body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #fff;
    box-shadow: none;
}
html.ios-form-phone:is(.ios-notes-on, .ios-music-on) body.ios-springboard #ios-shell-home.ios-shell-home {
    background: #000;
}
html.ios-form-phone:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader,
html.ios-form-phone:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader #heure,
html.ios-form-phone:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader #statusright {
    color: #000;
}
html.ios-form-phone:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}

/* ─── Calculette iOS 17 (iPhone) / iPadOS 18 : noir plein écran, affichage 90 pt maigre aligné à droite au-dessus
   du pavé, touches rondes (gris foncé #333 chiffres, gris clair #a5a5a5 fonctions, orange #ff9f0a opérateurs),
   « 0 » en pilule ; pas de titre ni de « Close ». ─── */
#ios-calculator .ios-calc-scrim,
#ios-calculator .ios-calc-head,
#ios-calculator .ios-calc-hint {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-panel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 47px 16px 34px;
    border-radius: 0;
    box-sizing: border-box;
    color: #fff;
    background: #000;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-display {
    margin: 0 8px 10px;
    padding: 0;
    overflow: hidden;
    font-family: var(--font);
    font-size: 90px;
    font-weight: 300;
    line-height: 1.05;
    text-align: right;
    white-space: nowrap;
    color: #fff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-pad {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-row {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key {
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-family: var(--font);
    font-size: 36px;
    font-weight: 400;
    color: #fff;
    background: #333;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key:active {
    background: #737373;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key--fn {
    font-size: 30px;
    font-weight: 500;
    color: #000;
    background: #a5a5a5;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key--fn:active {
    background: #d9d9d9;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key--op {
    font-size: 40px;
    color: #fff;
    background: #ff9f0a;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key--op.is-on {
    color: #ff9f0a;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-key--zero {
    grid-column: span 2;
    aspect-ratio: auto;
    padding-left: 30px;
    border-radius: 999px;
    text-align: left;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-calculator .ios-calc-sci {
    display: none;
}
html.ios-form-tablet #ios-calculator .ios-calc-panel {
    padding: 24px 120px 60px;
}
html.ios-form-tablet #ios-calculator .ios-calc-display {
    font-size: 120px;
}

/* ─── Horloge iOS 17 / iPadOS 17 (guide d'utilisation, app absente du simulateur) : noir plein écran, teinte orange
   #ff9f0a ; grands titres ; World Clock « Today, +0HRS » + ville + heure 54 pt maigre ; alarmes à interrupteur ;
   chronomètre 90 pt et boutons ronds 80 pt ; minuteur : roues heures / min / sec puis anneau ; onglets à
   pictogrammes. ─── */
#ios-timer .ios-timer-scrim,
#ios-timer [data-tm-close],
#ios-timer .ios-tm-title,
#ios-timer .ios-tm-side,
#ios-timer .ios-tm-adjust,
#ios-timer .ios-tm-presets {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-timer-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 47px 0 0;
    border-radius: 0;
    box-sizing: border-box;
    font-family: var(--font);
    color: #fff;
    background: #000;
    box-shadow: none;
}
html.ios-form-tablet #ios-timer .ios-timer-panel {
    padding-top: 24px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-head {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 44px;
    padding: 0 16px;
    border: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-head button {
    min-width: 0;
    padding: 0;
    border: 0;
    font-size: 17px;
    font-weight: 400;
    color: #ff9f0a;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-head button[hidden] {
    display: block !important;
    visibility: hidden;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-plus {
    font-size: 30px !important;
    font-weight: 300 !important;
    line-height: 1;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-body {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    padding: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-main {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0;
    overflow: auto;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-pane {
    display: flex;
    flex-direction: column;
    padding: 0 16px 20px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-pane[hidden] {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-pane-bar {
    display: block;
    padding: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer #ios-tm-alarm-add {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-pane-title {
    margin: 0;
    padding: 3px 0 8px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
    color: #fff;
}
/* World Clock */
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-world,
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarms {
    margin: 0;
    padding: 0;
    list-style: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-city,
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 96px;
    padding: 0;
    border: 0;
    border-bottom: 0.5px solid #38383a;
    border-radius: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-city div {
    display: flex;
    flex-direction: column;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-city span {
    font-size: 15px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-city strong {
    font-size: 24px;
    font-weight: 400;
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-city em {
    font-size: 56px;
    font-style: normal;
    font-weight: 200;
    letter-spacing: -1px;
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-city em small {
    margin-left: 3px;
    font-size: 24px;
    font-weight: 300;
    letter-spacing: 0;
}
/* Alarmes */
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm div {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm strong {
    font-size: 56px;
    font-weight: 200;
    line-height: 62px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm.is-on strong {
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm span {
    font-size: 15px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm.is-on span {
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-switch {
    position: relative;
    flex: 0 0 51px;
    width: 51px;
    height: 31px;
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: #39393d;
    transition: background 0.2s;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-switch::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 27px;
    height: 27px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15), 0 3px 1px rgba(0, 0, 0, 0.06);
    transition: transform 0.2s;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-switch[aria-checked="true"] {
    background: #30d158;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-switch[aria-checked="true"]::after {
    transform: translateX(20px);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-alarm-del {
    width: 22px;
    height: 22px;
    margin-right: 12px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 18px;
    line-height: 20px;
    color: #fff;
    background: #ff453a;
}
/* Chronomètre et minuteur : grands chiffres, boutons ronds 80 pt à double anneau. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer #ios-tm-pane-stopwatch {
    padding-top: 90px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer #ios-sw-display {
    margin: 0 0 70px;
    font-size: 90px;
    font-weight: 200;
    font-variant-numeric: tabular-nums;
    text-align: center;
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions button {
    width: 80px;
    height: 80px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 17px;
    font-weight: 400;
    color: #fff;
    background: #333;
    box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #333;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions button[hidden] {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions button:disabled {
    color: #8e8e93;
    background: #1c1c1e;
    box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #1c1c1e;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions .ios-tm-primary {
    color: #30d158;
    background: #0a2a12;
    box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #0a2a12;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions .ios-tm-primary--stop {
    color: #ff453a;
    background: #330e0c;
    box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #330e0c;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-actions .ios-tm-primary--pause {
    color: #ff9f0a;
    background: #331f00;
    box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #331f00;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-laps {
    margin: 20px 0 0;
    padding: 0;
    border-top: 0.5px solid #38383a;
    list-style: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-laps li {
    display: flex;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 0.5px solid #38383a;
    font-size: 17px;
    font-variant-numeric: tabular-nums;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-laps em {
    font-style: normal;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer #ios-tm-pane-timer {
    padding-top: 30px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-picker {
    position: relative;
    display: none;
    align-items: center;
    justify-content: center;
    height: 224px;
    margin: 0 0 40px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer.ios-tm--idle .ios-tm-picker {
    display: flex;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer.ios-tm--idle .ios-tm-ring-wrap {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-picker::before {
    content: "";
    position: absolute;
    top: 96px;
    right: 8px;
    left: 8px;
    height: 32px;
    border-radius: 8px;
    background: rgba(118, 118, 128, 0.24);
    pointer-events: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-wheel {
    position: relative;
    width: 44px;
    height: 224px;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
    scrollbar-width: none;
    -webkit-mask: linear-gradient(180deg, transparent 0, #000 35%, #000 65%, transparent 100%);
    mask: linear-gradient(180deg, transparent 0, #000 35%, #000 65%, transparent 100%);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-wheel::-webkit-scrollbar {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-wheel-pad {
    height: 96px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-wheel-item {
    height: 32px;
    font-size: 21px;
    line-height: 32px;
    text-align: right;
    color: #8e8e93;
    scroll-snap-align: center;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-wheel-item.is-sel {
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-unit {
    position: relative;
    width: 60px;
    margin-left: 8px;
    font-size: 17px;
    font-weight: 600;
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-ring-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 300px;
    height: 300px;
    margin: 0 auto 30px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-ring {
    width: 300px;
    height: 300px;
    transform: rotate(-90deg);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-ring-bg {
    fill: none;
    stroke: #333;
    stroke-width: 4;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-ring-fg {
    fill: none;
    stroke: #ff9f0a;
    stroke-width: 4;
    stroke-linecap: round;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-display--ring {
    position: absolute;
    margin: 0;
    font-size: 70px;
    font-weight: 200;
    font-variant-numeric: tabular-nums;
    color: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer #ios-tm-pane-timer .ios-tm-actions {
    order: 2;
    margin: 0 0 30px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-ends {
    order: 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 50px;
    margin: 0;
    padding: 0 30px 0 16px;
    border: 0;
    border-radius: 10px;
    font-size: 17px;
    color: #fff;
    background: #1c1c1e url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'><path d='m1.5 1.5 5 5.5-5 5.5' fill='none' stroke='%235a5a5e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 14px center / 7px 12px no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-ends em {
    font-style: normal;
    color: #8e8e93;
}
/* Onglets 83 pt : globe, réveil, chronomètre, minuteur. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-tabs {
    display: flex;
    flex: 0 0 83px;
    gap: 0;
    padding: 7px 4px 0;
    border-top: 0.5px solid #38383a;
    box-sizing: border-box;
    background: rgba(22, 22, 23, 0.94);
}
html.ios-form-tablet #ios-timer .ios-tm-tabs {
    flex-basis: 70px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-tabs button {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    flex: 1 1 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 500;
    color: #8e8e93;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-tabs button.is-active {
    color: #ff9f0a;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-timer .ios-tm-tab-ico {
    width: 28px;
    height: 26px;
    background: currentColor;
    -webkit-mask: var(--tm-ico) center / contain no-repeat;
    mask: var(--tm-ico) center / contain no-repeat;
}
#ios-timer .ios-tm-tabs [data-tm-tab="world"] { --tm-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><circle cx='14' cy='13' r='11' fill='none' stroke='black' stroke-width='1.8'/><ellipse cx='14' cy='13' rx='4.8' ry='11' fill='none' stroke='black' stroke-width='1.6'/><path d='M3.5 9.5h21M3.5 16.5h21' stroke='black' stroke-width='1.6'/></svg>"); }
#ios-timer .ios-tm-tabs [data-tm-tab="alarm"] { --tm-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><circle cx='14' cy='14' r='10'/><path d='M14 8.5V14l3.5 2.5' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round'/><path d='M4.5 6 8 2.5M23.5 6 20 2.5' stroke='black' stroke-width='2.2' stroke-linecap='round'/></svg>"); }
#ios-timer .ios-tm-tabs [data-tm-tab="stopwatch"] { --tm-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><circle cx='14' cy='15' r='10'/><path d='M14 15V9' stroke='white' stroke-width='2' stroke-linecap='round'/><path d='M11 1.5h6M14 1.5v3.5' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>"); }
#ios-timer .ios-tm-tabs [data-tm-tab="timer"] { --tm-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><path d='M14 2.5a10.5 10.5 0 1 1-7.4 3.1' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/><path d='M14 2.5v5' stroke='black' stroke-width='2' stroke-linecap='round'/><path d='m9 8 5.5 5.5' stroke='black' stroke-width='2.2' stroke-linecap='round'/></svg>"); }
html.ios-form-tablet #ios-timer .ios-tm-pane {
    max-width: 640px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

/* ─── Notes iPhone (guide d'utilisation iOS 17) : teinte or #e3a300 ; Dossiers et Notes en grand titre sur fond
   groupé #f2f2f7 avec encarts blancs ; ligne = titre 17 pt semi-gras + « heure  aperçu » ; barre du bas « N Notes »
   + nouvelle note ; éditeur blanc : « ‹ Notes », partager, ⋯, Done, date en tête, barre liste à cocher / tableau /
   appareil photo / annotation / nouvelle note ; « ⋯ » ouvre les actions en feuille. ─── */
html:not(.ios-form-phone) #ios-notes .ios-notes-phone-only:is(.ios-notes-large, .ios-notes-bar, .ios-notes-more, .ios-notes-nav-txt, .ios-notes-date, .ios-notes-menu-cancel, #ios-notes-share-top) {
    display: none !important;
}
html.ios-form-phone #ios-notes .ios-notes-scrim,
html.ios-form-phone #ios-notes [data-notes-close],
html.ios-form-phone #ios-notes .ios-notes-title,
html.ios-form-phone #ios-notes #ios-notes-view,
html.ios-form-phone #ios-notes #ios-notes-new,
html.ios-form-phone #ios-notes #ios-notes-new-folder,
html.ios-form-phone #ios-notes .ios-notes-meta,
html.ios-form-phone #ios-notes .ios-notes-side-heading:last-of-type,
html.ios-form-phone #ios-notes #ios-notes-side-nav-tags {
    display: none !important;
}
html.ios-form-phone #ios-notes .ios-notes-panel {
    position: relative;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-family: var(--font);
    color: #000;
    background: #f2f2f7;
    box-shadow: none;
}
html.ios-form-phone #ios-notes .ios-notes-folders,
html.ios-form-phone #ios-notes .ios-notes-list-pane,
html.ios-form-phone #ios-notes .ios-notes-edit-pane {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    width: auto;
    padding: 47px 0 83px;
    border: 0;
    box-sizing: border-box;
    overflow: auto;
    background: #f2f2f7;
}
html.ios-form-phone #ios-notes .ios-notes-edit-pane {
    background: #fff;
}
html.ios-form-phone #ios-notes [hidden]:is(.ios-notes-folders, .ios-notes-list-pane, .ios-notes-edit-pane) {
    display: none;
}
html.ios-form-phone #ios-notes .ios-notes-head {
    display: flex;
    align-items: center;
    flex: 0 0 44px;
    gap: 20px;
    height: 44px;
    padding: 0 16px;
    border: 0;
    background: none;
}
html.ios-form-phone #ios-notes .ios-notes-head-actions {
    display: flex;
    margin-left: auto;
}
html.ios-form-phone #ios-notes .ios-notes-head button {
    min-width: 0;
    padding: 0;
    border: 0;
    font-size: 17px;
    font-weight: 400;
    color: #e3a300;
    background: none;
}
html.ios-form-phone #ios-notes .ios-notes-nav-txt,
html.ios-form-phone #ios-notes .ios-notes-head .ios-notes-tool,
html.ios-form-phone #ios-notes #ios-notes-done {
    margin-left: auto;
}
html.ios-form-phone #ios-notes .ios-notes-head .ios-notes-tool + .ios-notes-more,
html.ios-form-phone #ios-notes .ios-notes-head .ios-notes-more + #ios-notes-done {
    margin-left: 0;
}
html.ios-form-phone #ios-notes #ios-notes-done {
    font-weight: 600;
}
html.ios-form-phone #ios-notes #ios-notes-folders-btn,
html.ios-form-phone #ios-notes #ios-notes-back {
    padding-left: 18px !important;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10 2 2 10l8 8' fill='none' stroke='%23e3a300' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") left center / 11px 19px no-repeat !important;
}
html.ios-form-phone #ios-notes .ios-notes-more {
    width: 26px;
    height: 26px;
    background: #e3a300 !important;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><circle cx='13' cy='13' r='11.5' fill='none' stroke='black' stroke-width='1.7'/><circle cx='8' cy='13' r='1.6'/><circle cx='13' cy='13' r='1.6'/><circle cx='18' cy='13' r='1.6'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><circle cx='13' cy='13' r='11.5' fill='none' stroke='black' stroke-width='1.7'/><circle cx='8' cy='13' r='1.6'/><circle cx='13' cy='13' r='1.6'/><circle cx='18' cy='13' r='1.6'/></svg>") center / contain no-repeat;
}
html.ios-form-phone #ios-notes .ios-notes-large {
    margin: 0;
    padding: 3px 16px 8px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
    letter-spacing: 0.37px;
}
html.ios-form-phone #ios-notes .ios-notes-search-wrap {
    display: block;
    padding: 0 16px 10px;
}
html.ios-form-phone #ios-notes .ios-notes-search {
    width: 100%;
    height: 36px;
    padding: 0 8px 0 30px;
    border: 0;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 17px;
    background: rgba(118, 118, 128, 0.12) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='6.8' cy='6.8' r='5' fill='none' stroke='%238e8e93' stroke-width='1.7'/><path d='m10.6 10.6 3.8 3.8' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round'/></svg>") 9px center / 15px no-repeat;
}
/* Dossiers : sections « iCloud », « On My iPhone » en encarts. */
html.ios-form-phone #ios-notes .ios-notes-side-heading {
    margin: 14px 16px 6px;
    font-size: 20px;
    font-weight: 600;
    text-transform: none;
    color: #000;
}
html.ios-form-phone #ios-notes .ios-notes-side-nav {
    display: flex;
    flex-direction: column;
    margin: 0 16px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
html.ios-form-phone #ios-notes .ios-notes-folder-item {
    position: relative;
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 32px 0 50px;
    border: 0;
    border-radius: 0;
    font-size: 17px;
    font-weight: 400;
    text-align: left;
    color: #000;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'><path d='m1.5 1.5 5 5.5-5 5.5' fill='none' stroke='%23c4c4c7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") right 14px center / 7px 12px no-repeat;
}
html.ios-form-phone #ios-notes .ios-notes-folder-item + .ios-notes-folder-item {
    box-shadow: inset 50px 0.5px 0 #fff, inset 0 0.5px 0 #c6c6c8;
}
html.ios-form-phone #ios-notes .ios-notes-folder-item::before {
    content: "";
    position: absolute;
    left: 14px;
    width: 25px;
    height: 21px;
    background: #e3a300;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M2.5 5V18a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V7.5A1.5 1.5 0 0 0 22 6H12l-2.2-2.5H4A1.5 1.5 0 0 0 2.5 5z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 22'><path d='M2.5 5V18a1.5 1.5 0 0 0 1.5 1.5h18a1.5 1.5 0 0 0 1.5-1.5V7.5A1.5 1.5 0 0 0 22 6H12l-2.2-2.5H4A1.5 1.5 0 0 0 2.5 5z' fill='none' stroke='black' stroke-width='1.7' stroke-linejoin='round'/></svg>") center / contain no-repeat;
}
html.ios-form-phone #ios-notes .ios-notes-folder-item.is-on {
    color: #000;
    background-color: #fff;
}
html.ios-form-phone #ios-notes .ios-notes-folder-count {
    margin-left: auto;
    font-size: 17px;
    color: #8e8e93;
    background: none;
}
/* Liste des notes en encart. */
html.ios-form-phone #ios-notes .ios-notes-list {
    margin: 0 16px;
    padding: 0;
    list-style: none;
    background: none;
}
html.ios-form-phone #ios-notes .ios-notes-section {
    padding: 14px 0 6px;
    font-size: 20px;
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: #000;
    background: none;
}
html.ios-form-phone #ios-notes .ios-notes-item {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px 16px 11px;
    border: 0;
    border-radius: 0;
    font-family: var(--font);
    text-align: left;
    color: #000;
    background: #fff;
}
html.ios-form-phone #ios-notes .ios-notes-item.is-selected {
    background: #fff;
}
html.ios-form-phone #ios-notes .ios-notes-list li:not(.ios-notes-section) + li:not(.ios-notes-section) .ios-notes-item {
    box-shadow: inset 16px 0.5px 0 #fff, inset 0 0.5px 0 #c6c6c8;
}
html.ios-form-phone #ios-notes .ios-notes-section + li .ios-notes-item,
html.ios-form-phone #ios-notes .ios-notes-list > li:first-child .ios-notes-item {
    border-radius: 10px 10px 0 0;
}
html.ios-form-phone #ios-notes .ios-notes-list > li:not(.ios-notes-section):has(+ .ios-notes-section) .ios-notes-item,
html.ios-form-phone #ios-notes .ios-notes-list > li:last-child .ios-notes-item {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}
html.ios-form-phone #ios-notes .ios-notes-item strong {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 17px;
    font-weight: 600;
    line-height: 22px;
}
html.ios-form-phone #ios-notes .ios-notes-lock {
    width: 11px;
    height: 14px;
    background: #8e8e93;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'><rect x='0.5' y='6' width='10' height='7.5' rx='1.5'/><path d='M2.5 6V4.2a3 3 0 0 1 6 0V6' fill='none' stroke='black' stroke-width='1.4'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'><rect x='0.5' y='6' width='10' height='7.5' rx='1.5'/><path d='M2.5 6V4.2a3 3 0 0 1 6 0V6' fill='none' stroke='black' stroke-width='1.4'/></svg>") center / contain no-repeat;
}
html.ios-form-phone #ios-notes .ios-notes-preview {
    overflow: hidden;
    font-size: 15px;
    line-height: 20px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #8e8e93;
}
html.ios-form-phone #ios-notes .ios-notes-preview time {
    margin-right: 6px;
    color: #000;
}
html.ios-form-phone #ios-notes .ios-notes-empty {
    padding: 120px 0;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    color: #8e8e93;
}
/* Barres du bas. */
html.ios-form-phone #ios-notes .ios-notes-bar {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    height: 83px;
    padding: 10px 20px 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    background: rgba(249, 249, 249, 0.94);
}
html.ios-form-phone #ios-notes .ios-notes-folders .ios-notes-bar,
html.ios-form-phone #ios-notes .ios-notes-list-pane .ios-notes-bar,
html.ios-form-phone #ios-notes .ios-notes-edit-pane .ios-notes-bar {
    position: fixed;
}
html.ios-form-phone #ios-notes .ios-notes-tool-gap {
    width: 26px;
}
html.ios-form-phone #ios-notes .ios-notes-count {
    margin: 4px 0 0;
    font-size: 11px;
    color: #000;
}
html.ios-form-phone #ios-notes .ios-notes-tool {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    background: #e3a300 !important;
    -webkit-mask: var(--notes-ico) center / contain no-repeat;
    mask: var(--notes-ico) center / contain no-repeat;
}
#ios-notes [data-notes-ico="compose"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M20 4.5H7A3.5 3.5 0 0 0 3.5 8v13A3.5 3.5 0 0 0 7 24.5h13a3.5 3.5 0 0 0 3.5-3.5V12' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/><path d='M23.5 2.8 25.2 4.5 14 15.7l-2.6.9.9-2.6z' fill='none' stroke='black' stroke-width='1.6' stroke-linejoin='round'/></svg>"); }
#ios-notes [data-notes-ico="folder"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M2.5 8V22a2 2 0 0 0 2 2h19a2 2 0 0 0 2-2V10a2 2 0 0 0-2-2H13l-2.5-3h-6a2 2 0 0 0-2 2z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/><path d='M14 12v8M10 16h8' stroke='black' stroke-width='1.8' stroke-linecap='round'/></svg>"); }
#ios-notes [data-notes-ico="checklist"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><circle cx='6' cy='8' r='3' fill='none' stroke='black' stroke-width='1.6'/><path d='m4.6 19.6 1.3 1.3 2.6-2.6' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/><circle cx='6' cy='20' r='3' fill='none' stroke='black' stroke-width='1.6'/><path d='M12 8h13M12 20h13' stroke='black' stroke-width='1.8' stroke-linecap='round'/></svg>"); }
#ios-notes [data-notes-ico="table"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><rect x='3' y='5' width='22' height='18' rx='3' fill='none' stroke='black' stroke-width='1.8'/><path d='M3 11h22M3 17h22M10.5 5v18M17.5 5v18' stroke='black' stroke-width='1.6'/></svg>"); }
#ios-notes [data-notes-ico="camera"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M3 9.5A2.5 2.5 0 0 1 5.5 7h3.2l1.8-2.5h7l1.8 2.5h3.2A2.5 2.5 0 0 1 25 9.5v11a2.5 2.5 0 0 1-2.5 2.5h-17A2.5 2.5 0 0 1 3 20.5z' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/><circle cx='14' cy='15' r='4.3' fill='none' stroke='black' stroke-width='1.8'/></svg>"); }
#ios-notes [data-notes-ico="markup"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><circle cx='14' cy='14' r='11.5' fill='none' stroke='black' stroke-width='1.8'/><path d='M10 18.5 17.5 9l1.6 1.4-7.4 9.4-2.4.9z' fill='none' stroke='black' stroke-width='1.5' stroke-linejoin='round'/></svg>"); }
#ios-notes [data-notes-ico="share"] { --notes-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M14 3v15M9.5 7.5 14 3l4.5 4.5M9 11.5H7a1.5 1.5 0 0 0-1.5 1.5v11A1.5 1.5 0 0 0 7 25.5h14a1.5 1.5 0 0 0 1.5-1.5V13a1.5 1.5 0 0 0-1.5-1.5h-2' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
/* Éditeur. */
html.ios-form-phone #ios-notes .ios-notes-date {
    margin: 4px 0 6px;
    font-size: 13px;
    text-align: center;
    color: #8e8e93;
}
html.ios-form-phone #ios-notes .ios-notes-title-input {
    margin: 0;
    padding: 4px 16px 2px;
    border: 0;
    outline: 0;
    font-family: var(--font);
    font-size: 28px;
    font-weight: 700;
    color: #000;
    background: none;
}
html.ios-form-phone #ios-notes .ios-notes-body {
    flex: 1 1 auto;
    min-height: 300px;
    margin: 0;
    padding: 6px 16px;
    border: 0;
    outline: 0;
    resize: none;
    font-family: var(--font);
    font-size: 17px;
    line-height: 22px;
    color: #000;
    background: none;
}
/* Menu « ⋯ » : actions de la note en feuille (Checklist, Pin, Lock, Tag, Move ; Share, Delete ; Cancel). */
html.ios-form-phone #ios-notes .ios-notes-toolbar,
html.ios-form-phone #ios-notes .ios-notes-foot {
    display: none;
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-edit-pane::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 4;
    background: rgba(0, 0, 0, 0.35);
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-toolbar,
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-foot {
    position: fixed;
    right: 8px;
    left: 8px;
    z-index: 5;
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-toolbar {
    bottom: 248px;
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-foot {
    bottom: 34px;
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-toolbar button,
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-foot button {
    height: 57px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-family: var(--font);
    font-size: 20px;
    font-weight: 400;
    color: #007aff;
    background: rgba(255, 255, 255, 0.97);
    box-shadow: inset 0 -0.5px 0 rgba(60, 60, 67, 0.3);
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-toolbar button:first-child,
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-foot button:first-child {
    border-radius: 13px 13px 0 0;
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-toolbar button:last-child,
html.ios-form-phone #ios-notes.ios-notes--menu #ios-notes-delete {
    border-radius: 0 0 13px 13px;
    box-shadow: none;
}
html.ios-form-phone #ios-notes.ios-notes--menu #ios-notes-delete {
    color: #ff3b30;
}
html.ios-form-phone #ios-notes.ios-notes--menu .ios-notes-menu-cancel {
    margin-top: 8px !important;
    border-radius: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

/* ─── Musique iPhone (Apple Music, guide d'utilisation iOS 17) : clair, teinte #fa2d48 ; grand titre par onglet ;
   « Top Picks » et « Recently Played » en carrousels de pochettes ; mini-lecteur 64 pt au-dessus de la barre
   d'onglets 83 pt (Listen Now, Browse, Radio, Library, Search) ; « À l'écoute » en feuille sombre. ─── */
html.ios-form-phone #ios-music .ios-music-scrim,
html.ios-form-phone #ios-music .ios-music-head,
html.ios-form-phone #ios-music .ios-music-side,
html.ios-form-phone #ios-music .ios-music-hint {
    display: none !important;
}
html.ios-form-phone #ios-music .ios-music-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 47px 0 0;
    border-radius: 0;
    box-sizing: border-box;
    font-family: var(--font);
    color: #000;
    background: #fff;
    box-shadow: none;
}
html.ios-form-phone #ios-music .ios-music-shell,
html.ios-form-phone #ios-music .ios-music-main {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    background: #fff;
}
html.ios-form-phone #ios-music .ios-music-body {
    flex: 1 1 auto;
    min-height: 0;
    padding: 0 0 160px;
    overflow: auto;
    color: #000;
    background: #fff;
}
html.ios-form-phone #ios-music .ios-music-large {
    margin: 0;
    padding: 47px 16px 8px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
    letter-spacing: 0.37px;
    border-bottom: 0.5px solid #c6c6c8;
}
html.ios-form-phone #ios-music .ios-music-section {
    margin: 0;
    padding: 18px 0 0;
}
html.ios-form-phone #ios-music .ios-music-section h2 {
    margin: 0 16px 10px;
    font-size: 22px;
    font-weight: 700;
    color: #000;
}
html.ios-form-phone #ios-music .ios-music-cards {
    display: flex;
    gap: 10px;
    padding: 0 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
}
html.ios-form-phone #ios-music .ios-music-card {
    display: flex;
    flex: 0 0 160px;
    flex-direction: column;
    gap: 2px;
    padding: 0;
    border: 0;
    font-family: var(--font);
    text-align: left;
    color: #000;
    background: none;
    scroll-snap-align: start;
}
html.ios-form-phone #ios-music .ios-music-card-art {
    width: 160px;
    height: 160px;
    margin-bottom: 6px;
    border-radius: 8px;
    box-shadow: 0 0 0 0.5px rgba(0, 0, 0, 0.1);
}
html.ios-form-phone #ios-music .ios-music-card strong {
    font-size: 13px;
    font-weight: 400;
    color: #000;
}
html.ios-form-phone #ios-music .ios-music-card span {
    font-size: 13px;
    color: #8e8e93;
}
html.ios-form-phone #ios-music .ios-music-rows {
    margin: 0 0 0 16px;
}
html.ios-form-phone #ios-music .ios-music-rows li {
    border-bottom: 0.5px solid #c6c6c8;
}
html.ios-form-phone #ios-music .ios-music-rows button {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 10px 16px 10px 0;
    border: 0;
    font-family: var(--font);
    text-align: left;
    color: #000;
    background: none;
}
html.ios-form-phone #ios-music .ios-music-rows strong {
    font-size: 17px;
    font-weight: 400;
    color: #000;
}
html.ios-form-phone #ios-music .ios-music-rows span {
    font-size: 15px;
    color: #8e8e93;
}
html.ios-form-phone #ios-music .ios-music-cats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 0 16px;
}
html.ios-form-phone #ios-music .ios-music-cat,
html.ios-form-phone #ios-music .ios-music-radio-card {
    height: 110px;
    padding: 10px;
    border: 0;
    border-radius: 10px;
    font-family: var(--font);
    font-size: 17px;
    font-weight: 700;
    text-align: left;
    vertical-align: bottom;
    color: #fff;
    background: linear-gradient(135deg, #fa2d48 0%, #a92ae6 100%);
}
html.ios-form-phone #ios-music .ios-music-back {
    margin: 0 16px 6px;
    padding: 0 0 0 16px;
    border: 0;
    font-size: 17px;
    color: #fa2d48;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10 2 2 10l8 8' fill='none' stroke='%23fa2d48' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") left center / 10px 17px no-repeat;
}
html.ios-form-phone #ios-music .ios-music-search {
    width: calc(100% - 32px);
    height: 36px;
    margin: 4px 16px 10px;
    padding: 0 8px 0 30px;
    border: 0;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 17px;
    color: #000;
    background: rgba(118, 118, 128, 0.12) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><circle cx='6.8' cy='6.8' r='5' fill='none' stroke='%238e8e93' stroke-width='1.7'/><path d='m10.6 10.6 3.8 3.8' stroke='%238e8e93' stroke-width='1.8' stroke-linecap='round'/></svg>") 9px center / 15px no-repeat;
}
html.ios-form-phone #ios-music .ios-music-lib {
    color: #000;
}
/* Barre d'onglets (bas) et mini-lecteur. */
html.ios-form-phone #ios-music .ios-music-tabs {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    display: flex;
    flex-wrap: nowrap;
    gap: 0;
    height: 83px;
    padding: 7px 4px 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.2);
    box-sizing: border-box;
    background: rgba(249, 249, 249, 0.94);
}
html.ios-form-phone #ios-music .ios-music-tabs .ios-music-tab {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    flex: 1 1 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 500;
    line-height: 12px;
    color: #999;
    background: none;
}
html.ios-form-phone #ios-music .ios-music-tabs .ios-music-tab[hidden] {
    display: none;
}
html.ios-form-phone #ios-music .ios-music-tabs .ios-music-tab.is-on {
    color: #fa2d48;
    background: none;
}
html.ios-form-phone #ios-music .ios-music-tabs .ios-music-tab::before {
    content: "";
    display: block;
    width: 28px;
    height: 26px;
    background: currentColor;
    -webkit-mask: var(--music-tab-glyph) center / contain no-repeat;
    mask: var(--music-tab-glyph) center / contain no-repeat;
}
#ios-music .ios-music-tab[data-music-tab="listen"] { --music-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><circle cx='13' cy='13' r='12'/><path d='M10 7.8v10.4l8.5-5.2z' fill='white'/></svg>"); }
#ios-music .ios-music-tab[data-music-tab="browse"] { --music-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><rect x='2' y='2' width='9.5' height='9.5' rx='2.4'/><rect x='14.5' y='2' width='9.5' height='9.5' rx='2.4'/><rect x='2' y='14.5' width='9.5' height='9.5' rx='2.4'/><rect x='14.5' y='14.5' width='9.5' height='9.5' rx='2.4'/></svg>"); }
#ios-music .ios-music-tab[data-music-tab="radio"] { --music-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><circle cx='13' cy='13' r='3'/><path d='M8 8a7 7 0 0 0 0 10M18 8a7 7 0 0 1 0 10M4.5 4.5a12 12 0 0 0 0 17M21.5 4.5a12 12 0 0 1 0 17' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'/></svg>"); }
#ios-music .ios-music-tab[data-music-tab="library"] { --music-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><rect x='3' y='8' width='20' height='16' rx='3'/><path d='M5.5 5h15M8 2h10' stroke='black' stroke-width='1.8' stroke-linecap='round'/><path d='M15.5 11.5v6.2a2.1 2.1 0 1 1-1.4-2v-4.9l3.6-.8v1.8z' fill='white'/></svg>"); }
#ios-music .ios-music-tab[data-music-tab="search"] { --music-tab-glyph: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><circle cx='11' cy='11' r='7.5' fill='none' stroke='black' stroke-width='2.6'/><path d='m16.5 16.5 6 6' stroke='black' stroke-width='2.8' stroke-linecap='round'/></svg>"); }
html.ios-form-phone #ios-music .ios-music-now {
    position: absolute;
    right: 0;
    bottom: 83px;
    left: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 12px;
    height: 64px;
    padding: 0 20px 0 16px;
    border: 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.12);
    box-sizing: border-box;
    color: #000;
    background: rgba(249, 249, 249, 0.96);
}
html.ios-form-phone #ios-music .ios-music-art {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}
html.ios-form-phone #ios-music .ios-music-meta {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}
html.ios-form-phone #ios-music .ios-music-meta strong {
    overflow: hidden;
    font-size: 15px;
    font-weight: 400;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #000;
}
html.ios-form-phone #ios-music .ios-music-meta span {
    display: none;
}
html.ios-form-phone #ios-music .ios-music-controls {
    display: flex;
    gap: 22px;
}
html.ios-form-phone #ios-music .ios-music-controls button[data-music-act="prev"] {
    display: none;
}
html.ios-form-phone #ios-music .ios-music-controls button,
html.ios-form-phone #ios-music .ios-music-np-controls button {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 0;
    color: transparent;
    background: #000;
    -webkit-mask: var(--mu-ico) center / contain no-repeat;
    mask: var(--mu-ico) center / contain no-repeat;
}
#ios-music [data-music-act="toggle"] { --mu-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M7 3.5v19l15.5-9.5z'/></svg>"); }
#ios-music.ios-music--playing [data-music-act="toggle"] { --mu-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><rect x='5' y='3.5' width='5.5' height='19' rx='1.2'/><rect x='15.5' y='3.5' width='5.5' height='19' rx='1.2'/></svg>"); }
#ios-music [data-music-act="next"] { --mu-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M1.5 5v16l11-8zM13 5v16l11-8z'/></svg>"); }
#ios-music [data-music-act="prev"] { --mu-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M24.5 5v16l-11-8zM13 5v16L2 13z'/></svg>"); }
#ios-music [data-music-act="shuffle"] { --mu-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M2 7.5h4.5c5.5 0 7.5 11 13 11H23M2 18.5h4.5c2.4 0 4-2 5.2-4.6M15 9.6c1.2-1.3 2.6-2.1 4.5-2.1H23M20 4.5l3 3-3 3M20 15.5l3 3-3 3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
#ios-music [data-music-act="repeat"] { --mu-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M4 12V9.5A2.5 2.5 0 0 1 6.5 7H21M18 4l3 3-3 3M22 14v2.5a2.5 2.5 0 0 1-2.5 2.5H5M8 22l-3-3 3-3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
/* À l'écoute : feuille sombre plein écran. */
html.ios-form-phone #ios-music .ios-music-np {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 56px 30px 40px;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(180deg, #7a2a46 0%, #3d1830 55%, #1f0d19 100%);
}
html.ios-form-phone #ios-music .ios-music-np[hidden] {
    display: none;
}
html.ios-form-phone #ios-music .ios-music-np-head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 26px;
}
html.ios-form-phone #ios-music .ios-music-np-head p {
    width: 36px;
    height: 5px;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 3px;
    font-size: 0;
    background: rgba(255, 255, 255, 0.45);
}
html.ios-form-phone #ios-music .ios-music-np-head button {
    border: 0;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.8);
    background: none;
}
html.ios-form-phone #ios-music .ios-music-np-art {
    width: 100%;
    aspect-ratio: 1 / 1;
    margin: 0 0 30px;
    border-radius: 10px;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}
html.ios-form-phone #ios-music .ios-music-np h2 {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    color: #fff;
}
html.ios-form-phone #ios-music .ios-music-np p {
    margin: 2px 0 20px;
    font-size: 20px;
    color: rgba(255, 255, 255, 0.6);
}
html.ios-form-phone #ios-music .ios-music-scrub-track {
    height: 6px;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.25);
}
html.ios-form-phone #ios-music .ios-music-scrub-track i {
    display: block;
    height: 100%;
    border-radius: 3px;
    background: rgba(255, 255, 255, 0.75);
}
html.ios-form-phone #ios-music .ios-music-scrub-times {
    display: flex;
    justify-content: space-between;
    margin-top: 6px;
    font-size: 12px;
    color: rgba(255, 255, 255, 0.55);
}
html.ios-form-phone #ios-music .ios-music-np-controls {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 30px 0 0;
}
html.ios-form-phone #ios-music .ios-music-np-controls button {
    width: 34px;
    height: 34px;
    background: #fff;
}
html.ios-form-phone #ios-music .ios-music-np-controls .ios-music-np-primary {
    width: 44px;
    height: 44px;
}
html.ios-form-phone #ios-music .ios-music-np-controls #ios-music-shuffle,
html.ios-form-phone #ios-music .ios-music-np-controls #ios-music-repeat {
    width: 22px;
    height: 22px;
    background: rgba(255, 255, 255, 0.55);
}
html.ios-form-phone #ios-music .ios-music-np-controls .is-on {
    background: #fff !important;
}
html.ios-form-phone #ios-music .ios-music-queue {
    display: none;
}
html.ios-form-phone #ios-music .ios-music-body:is([data-music-page="library"], [data-music-page="browse"], [data-music-page="search"]) > .ios-music-large + .ios-music-section > h2:first-child {
    display: none;
}
html.ios-form-phone #ios-music .ios-music-body[data-music-page="sub"] {
    padding-top: 10px;
}
html.ios-form-phone #ios-music .ios-music-cards {
    display: flex;
    padding: 0 16px !important;
}
html.ios-form-phone #ios-music .ios-music-lib {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px 12px 0 !important;
    font-size: 22px;
    color: #fa2d48 !important;
}
html.ios-form-phone #ios-music .ios-music-lib span {
    font-size: 22px !important;
    color: #c4c4c7 !important;
}
html.ios-form-phone #ios-music .ios-music-cards {
    scroll-padding-left: 16px;
}

/* ─── iPad : Horloge, Calculette, Notes, Musique sous la barre d'état (z 75) ; texte sombre sur les apps claires. ─── */
html.ios-form-tablet #ios-timer,
html.ios-form-tablet #ios-calculator,
html.ios-form-tablet #ios-notes,
html.ios-form-tablet #ios-music {
    z-index: 70;
}
html.ios-form-tablet:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader,
html.ios-form-tablet:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader #heure,
html.ios-form-tablet:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader #statusright {
    color: #000;
}
html.ios-form-tablet:is(.ios-notes-on, .ios-music-on) body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}

/* ─── Notes iPad (iPadOS 17) : plein écran clair, liste 320 pt | note ; « ‹ Folders » affiche les dossiers à la
   place de la liste ; teinte or, pas d'étiquettes « #tag » ni de boutons texte. ─── */
html.ios-form-tablet #ios-notes .ios-notes-scrim,
html.ios-form-tablet #ios-notes [data-notes-close],
html.ios-form-tablet #ios-notes .ios-notes-title,
html.ios-form-tablet #ios-notes .ios-notes-meta,
html.ios-form-tablet #ios-notes .ios-notes-toolbar,
html.ios-form-tablet #ios-notes .ios-notes-foot,
html.ios-form-tablet #ios-notes #ios-notes-side-nav-tags,
html.ios-form-tablet #ios-notes .ios-notes-side-heading:last-of-type {
    display: none !important;
}
html.ios-form-tablet #ios-notes .ios-notes-panel {
    display: flex;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 24px 0 0;
    border-radius: 0;
    box-sizing: border-box;
    font-family: var(--font);
    color: #000;
    background: #fff;
    box-shadow: none;
}
html.ios-form-tablet #ios-notes .ios-notes-folders {
    display: none !important;
    flex: 0 0 320px;
    width: 320px;
    border-right: 0.5px solid #c6c6c8;
    background: #f2f2f7;
}
html.ios-form-tablet #ios-notes.ios-notes--folders .ios-notes-folders {
    display: flex !important;
    flex-direction: column;
}
html.ios-form-tablet #ios-notes.ios-notes--folders .ios-notes-list-pane {
    display: none !important;
}
html.ios-form-tablet #ios-notes .ios-notes-list-pane {
    display: flex;
    flex-direction: column;
    flex: 0 0 320px;
    width: 320px;
    border-right: 0.5px solid #c6c6c8;
    background: #fff;
}
html.ios-form-tablet #ios-notes .ios-notes-edit-pane {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    background: #fff;
}
html.ios-form-tablet #ios-notes .ios-notes-head {
    display: flex;
    align-items: center;
    gap: 18px;
    height: 50px;
    padding: 0 16px;
    border: 0;
    background: none;
}
html.ios-form-tablet #ios-notes .ios-notes-head button {
    min-width: 0;
    padding: 0;
    border: 0;
    font-size: 17px;
    font-weight: 400;
    color: #e3a300;
    background: none;
}
html.ios-form-tablet #ios-notes #ios-notes-folders-btn {
    display: inline-block !important;
    padding-left: 18px !important;
    background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 20'><path d='M10 2 2 10l8 8' fill='none' stroke='%23e3a300' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>") left center / 11px 19px no-repeat;
}
html.ios-form-tablet #ios-notes .ios-notes-head-actions {
    display: flex;
    gap: 18px;
    margin-left: auto;
}
html.ios-form-tablet #ios-notes #ios-notes-done {
    margin-left: auto;
    font-weight: 600;
}
html.ios-form-tablet #ios-notes #ios-notes-list-pane .ios-notes-head::after {
    content: none;
}
html.ios-form-tablet #ios-notes .ios-notes-list {
    flex: 1 1 auto;
    margin: 0;
    padding: 0 0 20px;
    overflow: auto;
    list-style: none;
}
html.ios-form-tablet #ios-notes .ios-notes-section {
    padding: 14px 16px 6px;
    font-size: 15px;
    font-weight: 600;
    text-transform: none;
    color: #000;
}
html.ios-form-tablet #ios-notes .ios-notes-item {
    display: flex;
    flex-direction: column;
    width: calc(100% - 16px);
    margin: 0 8px;
    padding: 10px 12px;
    border: 0;
    border-radius: 10px;
    font-family: var(--font);
    text-align: left;
    color: #000;
    background: none;
}
html.ios-form-tablet #ios-notes .ios-notes-item.is-selected {
    background: #f6dd8f;
}
html.ios-form-tablet #ios-notes .ios-notes-item strong {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 17px;
    font-weight: 600;
}
html.ios-form-tablet #ios-notes .ios-notes-preview {
    overflow: hidden;
    font-size: 15px;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #8e8e93;
}
html.ios-form-tablet #ios-notes .ios-notes-preview time {
    margin-right: 6px;
    color: #000;
}
html.ios-form-tablet #ios-notes .ios-notes-lock {
    width: 11px;
    height: 14px;
    background: #8e8e93;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'><rect x='0.5' y='6' width='10' height='7.5' rx='1.5'/><path d='M2.5 6V4.2a3 3 0 0 1 6 0V6' fill='none' stroke='black' stroke-width='1.4'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 11 14'><rect x='0.5' y='6' width='10' height='7.5' rx='1.5'/><path d='M2.5 6V4.2a3 3 0 0 1 6 0V6' fill='none' stroke='black' stroke-width='1.4'/></svg>") center / contain no-repeat;
}
html.ios-form-tablet #ios-notes .ios-notes-search-wrap {
    display: block;
    padding: 0 16px 10px;
}
html.ios-form-tablet #ios-notes .ios-notes-search {
    width: 100%;
    height: 36px;
    padding: 0 8px 0 12px;
    border: 0;
    border-radius: 10px;
    box-sizing: border-box;
    font-size: 17px;
    background: rgba(118, 118, 128, 0.12);
}
html.ios-form-tablet #ios-notes .ios-notes-side-heading {
    margin: 14px 16px 6px;
    font-size: 20px;
    font-weight: 600;
    text-transform: none;
    color: #000;
}
html.ios-form-tablet #ios-notes .ios-notes-side-nav {
    display: flex;
    flex-direction: column;
    margin: 0 16px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}
html.ios-form-tablet #ios-notes .ios-notes-folder-item {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 16px;
    border: 0;
    border-radius: 0;
    font-size: 17px;
    font-weight: 400;
    text-align: left;
    color: #000;
    background: #fff;
}
html.ios-form-tablet #ios-notes .ios-notes-folder-item.is-on {
    color: #000;
    background: #f6dd8f;
}
html.ios-form-tablet #ios-notes .ios-notes-folder-count {
    margin-left: auto;
    color: #8e8e93;
    background: none;
}
html.ios-form-tablet #ios-notes .ios-notes-title-input {
    margin: 0;
    padding: 18px 40px 2px;
    border: 0;
    outline: 0;
    font-family: var(--font);
    font-size: 28px;
    font-weight: 700;
    color: #000;
    background: none;
}
html.ios-form-tablet #ios-notes .ios-notes-body {
    flex: 1 1 auto;
    margin: 0;
    padding: 6px 40px;
    border: 0;
    outline: 0;
    resize: none;
    font-family: var(--font);
    font-size: 17px;
    line-height: 22px;
    color: #000;
    background: none;
}

/* ─── Musique iPad (iPadOS 17) : plein écran clair, barre latérale 260 pt (sections en rouge #fa2d48) | contenu en
   grand titre ; mini-lecteur en bas du contenu ; « À l'écoute » en feuille sombre. ─── */
html.ios-form-tablet #ios-music .ios-music-scrim,
html.ios-form-tablet #ios-music .ios-music-head,
html.ios-form-tablet #ios-music .ios-music-tabs,
html.ios-form-tablet #ios-music .ios-music-hint {
    display: none !important;
}
html.ios-form-tablet #ios-music .ios-music-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 24px 0 0;
    border-radius: 0;
    box-sizing: border-box;
    font-family: var(--font);
    color: #000;
    background: #fff;
    box-shadow: none;
}
html.ios-form-tablet #ios-music .ios-music-shell {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    background: #fff;
}
html.ios-form-tablet #ios-music .ios-music-side {
    display: flex;
    flex: 0 0 260px;
    flex-direction: column;
    gap: 2px;
    padding: 50px 10px 0;
    border-right: 0.5px solid #c6c6c8;
    background: #f2f2f7;
}
html.ios-form-tablet #ios-music .ios-music-side::before {
    content: "Music";
    margin: 0 10px 10px;
    font-size: 34px;
    font-weight: 700;
    color: #000;
}
html.ios-form-tablet #ios-music .ios-music-side .ios-music-tab {
    display: flex;
    align-items: center;
    gap: 12px;
    height: 44px;
    padding: 0 10px;
    border: 0;
    border-radius: 10px;
    font-size: 17px;
    font-weight: 400;
    text-align: left;
    color: #000;
    background: none;
}
html.ios-form-tablet #ios-music .ios-music-side .ios-music-tab::before {
    content: "";
    width: 24px;
    height: 24px;
    background: #fa2d48;
    -webkit-mask: var(--music-tab-glyph) center / contain no-repeat;
    mask: var(--music-tab-glyph) center / contain no-repeat;
}
html.ios-form-tablet #ios-music .ios-music-side .ios-music-tab.is-on {
    color: #fff;
    background: #fa2d48;
}
html.ios-form-tablet #ios-music .ios-music-side .ios-music-tab.is-on::before {
    background: #fff;
}
html.ios-form-tablet #ios-music .ios-music-main {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
    background: #fff;
}
html.ios-form-tablet #ios-music .ios-music-body {
    flex: 1 1 auto;
    padding: 0 0 90px;
    overflow: auto;
    color: #000;
    background: #fff;
}
html.ios-form-tablet #ios-music .ios-music-large {
    margin: 0;
    padding: 50px 24px 8px;
    font-size: 34px;
    font-weight: 700;
    color: #000;
}
html.ios-form-tablet #ios-music .ios-music-section {
    padding: 16px 24px 0;
}
html.ios-form-tablet #ios-music .ios-music-section h2 {
    margin: 0 0 10px;
    font-size: 22px;
    font-weight: 700;
    color: #000;
}
html.ios-form-tablet #ios-music .ios-music-body:is([data-music-page="library"], [data-music-page="browse"], [data-music-page="search"]) > .ios-music-large + .ios-music-section > h2:first-child {
    display: none;
}
html.ios-form-tablet #ios-music .ios-music-card {
    padding: 0;
    border: 0;
    font-family: var(--font);
    text-align: left;
    color: #000;
    background: none;
}
html.ios-form-tablet #ios-music .ios-music-card strong {
    font-size: 13px;
    font-weight: 400;
    color: #000;
}
html.ios-form-tablet #ios-music .ios-music-card span,
html.ios-form-tablet #ios-music .ios-music-rows span {
    color: #8e8e93;
}
html.ios-form-tablet #ios-music .ios-music-rows li {
    border-bottom: 0.5px solid #c6c6c8;
}
html.ios-form-tablet #ios-music .ios-music-rows button {
    color: #000;
    background: none;
}
html.ios-form-tablet #ios-music .ios-music-lib {
    color: #fa2d48 !important;
}
html.ios-form-tablet #ios-music .ios-music-now {
    position: absolute;
    right: 16px;
    bottom: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    gap: 12px;
    height: 64px;
    padding: 0 20px 0 10px;
    border: 0;
    border-radius: 14px;
    box-sizing: border-box;
    color: #000;
    background: rgba(249, 249, 249, 0.96);
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.15);
}
html.ios-form-tablet #ios-music .ios-music-art {
    flex: 0 0 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 6px;
}
html.ios-form-tablet #ios-music .ios-music-meta {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
}
html.ios-form-tablet #ios-music .ios-music-meta strong {
    font-size: 15px;
    font-weight: 400;
    color: #000;
}
html.ios-form-tablet #ios-music .ios-music-meta span {
    font-size: 13px;
    color: #8e8e93;
}
html.ios-form-tablet #ios-music .ios-music-controls {
    display: flex;
    gap: 24px;
}
html.ios-form-tablet #ios-music .ios-music-controls button,
html.ios-form-tablet #ios-music .ios-music-np-controls button {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 0;
    color: transparent;
    background: #000;
    -webkit-mask: var(--mu-ico) center / contain no-repeat;
    mask: var(--mu-ico) center / contain no-repeat;
}
html.ios-form-tablet #ios-music .ios-music-np {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 60px 140px 40px;
    border-radius: 0;
    color: #fff;
    background: linear-gradient(180deg, #7a2a46 0%, #3d1830 55%, #1f0d19 100%);
}
html.ios-form-tablet #ios-music .ios-music-np[hidden] {
    display: none;
}
html.ios-form-tablet #ios-music .ios-music-np-head {
    display: flex;
    justify-content: space-between;
    width: 100%;
}
html.ios-form-tablet #ios-music .ios-music-np-head button {
    border: 0;
    color: rgba(255, 255, 255, 0.8);
    background: none;
}
html.ios-form-tablet #ios-music .ios-music-np-head p {
    font-size: 0;
}
html.ios-form-tablet #ios-music .ios-music-np-art {
    width: 420px;
    height: 420px;
    margin: 30px 0;
    border-radius: 12px;
}
html.ios-form-tablet #ios-music .ios-music-np h2 {
    margin: 0;
    font-size: 26px;
    color: #fff;
}
html.ios-form-tablet #ios-music .ios-music-np p {
    color: rgba(255, 255, 255, 0.6);
}
html.ios-form-tablet #ios-music .ios-music-scrub {
    width: 420px;
}
html.ios-form-tablet #ios-music .ios-music-np-controls {
    display: flex;
    gap: 50px;
    margin-top: 26px;
}
html.ios-form-tablet #ios-music .ios-music-np-controls button {
    width: 36px;
    height: 36px;
    background: #fff;
}
html.ios-form-tablet #ios-music .ios-music-queue {
    display: none;
}
html.ios-form-tablet #ios-notes.ios-notes--tablet #ios-notes-folders-btn {
    visibility: visible;
    pointer-events: auto;
}

/* ═══ Météo iOS 17 / iPadOS 17 (guide d'utilisation ; app absente du simulateur, §10.52) ═══
   Ciel en dégradé selon la condition ; « My Location » + ville en capitales, température 96 pt maigre ; cartes
   translucides (résumé + heure par heure ; « 10-DAY FORECAST » avec barres de températures ; tuiles) ;
   pictogrammes colorés (soleil jaune, nuage blanc, pluie) ; barre du bas carte · points de page · liste ;
   liste des villes sur fond noir en cartes de ciel. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-scrim,
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather [data-weather-close],
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-head--main,
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hint {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather {
    z-index: 70;
}
html.ios-form-phone:is(.ios-weather-on) body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #fff;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-panel {
    position: relative;
    display: flex;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-family: var(--font);
    color: #fff;
    background: #000;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-main {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 10px;
    min-width: 0;
    padding: 47px 16px 110px;
    overflow: auto;
    color: #fff;
    background: linear-gradient(180deg, #2f6fc4 0%, #4f8fd8 45%, #7db3e6 100%);
}
#ios-weather[data-wx-cond="cloud"] .ios-weather-main {
    background: linear-gradient(180deg, #5a6f86 0%, #7d90a4 50%, #9eaebd 100%) !important;
}
#ios-weather[data-wx-cond="rain"] .ios-weather-main {
    background: linear-gradient(180deg, #3a4656 0%, #556273 55%, #6c7886 100%) !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 34px 0 30px;
    padding: 0;
    text-align: center;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hero p {
    margin: 0;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hero-place {
    font-size: 34px;
    font-weight: 400;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hero-sub {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.3px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-temp {
    font-size: 96px;
    font-weight: 200;
    line-height: 1;
    padding-left: 24px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-cond,
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hl {
    font-size: 20px;
    font-weight: 500;
}
/* Cartes translucides */
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-card,
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-daily,
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-stats > div {
    margin: 0;
    border: 0;
    border-radius: 15px;
    background: rgba(0, 36, 90, 0.18);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-summary {
    margin: 0;
    padding: 12px 16px 10px;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.25);
    font-size: 15px;
    line-height: 20px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hourly {
    display: flex;
    gap: 0;
    margin: 0;
    padding: 12px 6px 14px;
    overflow-x: auto;
    list-style: none;
    scrollbar-width: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hourly li {
    display: flex;
    flex: 0 0 52px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    font-size: 15px;
    font-weight: 600;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hourly strong {
    font-size: 20px;
    font-weight: 500;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-ico {
    display: inline-block;
    width: 26px;
    height: 24px;
    font-size: 0;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
#ios-weather .ios-weather-ico[data-wx="Sun"] { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'><circle cx='13' cy='12' r='5' fill='%23ffd60a'/><g stroke='%23ffd60a' stroke-width='2' stroke-linecap='round'><path d='M13 1.5v2.5M13 20v2.5M2.5 12H5M21 12h2.5M5.6 4.6l1.8 1.8M18.6 17.6l1.8 1.8M5.6 19.4l1.8-1.8M18.6 6.4l1.8-1.8'/></g></svg>"); }
#ios-weather .ios-weather-ico[data-wx="Cloud"] { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'><path d='M7.5 19.5a4.8 4.8 0 0 1-.6-9.6 6.5 6.5 0 0 1 12.4 1.6 4 4 0 0 1-.3 8z' fill='white'/></svg>"); }
#ios-weather .ios-weather-ico[data-wx="Rain"] { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'><path d='M7.5 15a4.6 4.6 0 0 1-.6-9.2 6.3 6.3 0 0 1 12 1.6 3.8 3.8 0 0 1-.3 7.6z' fill='white'/><path d='m8.5 17.5-1.2 3M13.5 17.5l-1.2 3M18.5 17.5l-1.2 3' stroke='%2364d2ff' stroke-width='2' stroke-linecap='round'/></svg>"); }
/* 10 jours */
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-daily {
    margin: 0;
    padding: 0 16px 4px;
    list-style: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-daily::before {
    content: "10-DAY FORECAST";
    display: block;
    padding: 12px 0 8px;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.25);
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.6);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-daily li {
    display: grid;
    grid-template-columns: 64px 34px 1fr;
    align-items: center;
    height: 50px;
    padding: 0;
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.25);
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-daily li:last-child {
    border-bottom: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-day {
    font-size: 20px;
    font-weight: 500;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-range {
    display: grid;
    grid-template-columns: 40px 1fr 40px;
    align-items: center;
    gap: 6px;
    font-size: 20px;
    font-weight: 500;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-range em {
    font-style: normal;
    text-align: right;
    color: rgba(255, 255, 255, 0.6);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-range strong {
    font-weight: 500;
    text-align: right;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-bar {
    position: relative;
    height: 5px;
    border-radius: 3px;
    background: rgba(0, 0, 0, 0.2);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-bar i {
    position: absolute;
    top: 0;
    bottom: 0;
    border-radius: 3px;
    background: linear-gradient(90deg, #8fd3c9 0%, #f4d35e 60%, #f59e42 100%);
}
/* Tuiles */
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-stats > div {
    display: flex;
    flex-direction: column;
    gap: 8px;
    aspect-ratio: 1 / 1;
    padding: 12px 14px;
    box-sizing: border-box;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-stats dt {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.6);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-stats dd {
    margin: 0;
    font-size: 34px;
    font-weight: 400;
    color: #fff;
}
/* Barre du bas : carte · points de page (le premier est une flèche) · liste */
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-toolbar {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    height: 83px;
    padding: 12px 20px 0;
    border-top: 0.5px solid rgba(255, 255, 255, 0.25);
    box-sizing: border-box;
    background: rgba(40, 80, 140, 0.55);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
html.ios-form-tablet #ios-weather .ios-weather-toolbar {
    position: absolute;
    height: 60px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-tool {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    font-size: 0;
    color: transparent;
    background: #fff;
    -webkit-mask: var(--wx-tool) center / contain no-repeat;
    mask: var(--wx-tool) center / contain no-repeat;
}
#ios-weather [data-wx-tool="map"] { --wx-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M2.5 6 9 3l8 3 6.5-3v17L17 23l-8-3-6.5 3zM9 3v17M17 6v17' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/></svg>"); }
#ios-weather [data-wx-tool="list"] { --wx-tool: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26'><path d='M9 6h14M9 13h14M9 20h14' stroke='black' stroke-width='2' stroke-linecap='round'/><circle cx='4' cy='6' r='1.6'/><circle cx='4' cy='13' r='1.6'/><circle cx='4' cy='20' r='1.6'/></svg>"); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-dots {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 26px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-dots i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-dots i.is-on {
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-dots i.is-loc {
    width: 9px;
    height: 9px;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.45);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M9.5 0.5 0.5 4.4 4.6 5.4 5.6 9.5z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'><path d='M9.5 0.5 0.5 4.4 4.6 5.4 5.6 9.5z'/></svg>") center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-dots i.is-loc.is-on {
    background: #fff;
}
/* Liste des villes (iPhone : remplace la météo ; iPad : barre latérale 320 pt). */
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-cities {
    display: none;
    flex-direction: column;
    padding: 47px 16px 20px;
    overflow: auto;
    color: #fff;
    background: #000;
}
html.ios-form-phone #ios-weather.ios-weather--list .ios-weather-cities {
    position: absolute;
    inset: 0;
    z-index: 3;
    display: flex;
}
html.ios-form-tablet #ios-weather .ios-weather-cities {
    display: flex;
    flex: 0 0 320px;
    padding-top: 30px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-cities .ios-weather-head {
    display: flex;
    justify-content: flex-end;
    height: 44px;
    padding: 0;
    border: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-cities .ios-weather-place {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather #ios-weather-unit {
    min-width: 0;
    padding: 0;
    border: 0;
    font-size: 17px;
    color: #fff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-large {
    margin: 0 0 8px;
    font-size: 34px;
    font-weight: 700;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-search {
    height: 36px;
    margin: 0 0 14px;
    padding: 0 10px;
    border: 0;
    border-radius: 10px;
    font-size: 17px;
    color: #fff;
    background: rgba(118, 118, 128, 0.24);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto 1fr auto;
    width: 100%;
    height: 116px;
    padding: 10px 16px 12px;
    border: 0;
    border-radius: 16px;
    box-sizing: border-box;
    font-family: var(--font);
    text-align: left;
    color: #fff;
    background: linear-gradient(180deg, #2f6fc4 0%, #6fa8e2 100%);
}
#ios-weather .ios-weather-city[data-wx-cond="cloud"] { background: linear-gradient(180deg, #5a6f86 0%, #8d9fb2 100%); }
#ios-weather .ios-weather-city[data-wx-cond="rain"] { background: linear-gradient(180deg, #3a4656 0%, #626e7d 100%); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city strong {
    grid-column: 1;
    font-size: 24px;
    font-weight: 700;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city small {
    grid-column: 1;
    font-size: 15px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city em {
    grid-column: 2;
    grid-row: 1 / 3;
    font-size: 52px;
    font-style: normal;
    font-weight: 300;
    line-height: 1;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city-cond {
    grid-column: 1;
    grid-row: 4;
    font-size: 15px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-city-hl {
    grid-column: 2;
    grid-row: 4;
    font-size: 15px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-range {
    display: grid !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-bar {
    display: block;
    width: 100%;
    min-width: 60px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-weather .ios-weather-hourly {
    background: none;
}
html.ios-form-tablet #ios-weather .ios-weather-list-btn {
    visibility: hidden;
}

/* ═══ FaceTime iOS 17 / iPadOS 17 (guide d'utilisation ; app absente du simulateur, §10.52) ═══
   Clair : « Edit », grand titre « FaceTime », boutons « Create Link » (gris) et « New FaceTime » (vert) ; liste des
   appels (avatar, nom rouge si manqué, « FaceTime Video » + pictogramme, heure, ⓘ) ; pas de segment ni de recherche.
   iPad : liste 375 pt | aperçu caméra sombre. L'appel reste en plein écran sombre. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime {
    z-index: 70;
}
html.ios-form-phone.ios-facetime-on body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #000;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet).ios-facetime-on body.ios-springboard #iosheader,
html:is(.ios-form-phone, .ios-form-tablet).ios-facetime-on body.ios-springboard #iosheader #heure,
html:is(.ios-form-phone, .ios-form-tablet).ios-facetime-on body.ios-springboard #iosheader #statusright {
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet).ios-facetime-on body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-scrim,
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime [data-ft-close],
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-title,
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-search,
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-tabs {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-panel {
    display: flex;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-family: var(--font);
    color: #000;
    background: #fff;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-sidebar {
    display: flex;
    flex-direction: column;
    padding: 47px 0 40px;
    border: 0;
    box-sizing: border-box;
    overflow: auto;
    color: #000;
    background: #fff;
}
html.ios-form-phone #ios-facetime .ios-ft-sidebar {
    flex: 1 1 auto;
    width: 100%;
}
html.ios-form-tablet #ios-facetime .ios-ft-sidebar {
    flex: 0 0 375px;
    padding-top: 30px;
    border-right: 0.5px solid #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-head {
    display: flex;
    align-items: center;
    height: 44px;
    padding: 0 16px;
    border: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-edit {
    min-width: 0;
    padding: 0;
    border: 0;
    font-size: 17px;
    color: #007aff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-large {
    margin: 0;
    padding: 3px 16px 12px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    padding: 0 16px 16px;
    border-bottom: 0.5px solid #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-actions button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    font-family: var(--font);
    font-size: 17px;
    font-weight: 600;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-link {
    color: #000;
    background: rgba(118, 118, 128, 0.12);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-newbtn {
    color: #fff;
    background: #34c759;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-actions button:disabled {
    opacity: 0.4;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-actions i {
    width: 22px;
    height: 18px;
    background: currentColor;
    -webkit-mask: var(--ft-ico) center / contain no-repeat;
    mask: var(--ft-ico) center / contain no-repeat;
}
#ios-facetime .ios-ft-link { --ft-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'><path d='M9 11.5a4 4 0 0 0 5.7 0l3.2-3.2a4 4 0 0 0-5.7-5.7l-1.3 1.3M13 6.5a4 4 0 0 0-5.7 0L4.1 9.7a4 4 0 0 0 5.7 5.7l1.3-1.3' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'/></svg>"); }
#ios-facetime .ios-ft-newbtn { --ft-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 18'><rect x='1' y='3' width='14' height='12' rx='3'/><path d='m16 7.5 5-3v9l-5-3z'/></svg>"); }
#ios-facetime .ios-ft-link i { background: #34c759; }
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-off {
    margin: 10px 16px 0;
    padding: 10px 12px;
    border-radius: 10px;
    font-size: 15px;
    color: #000;
    background: #f2f2f7;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-list {
    margin: 0;
    padding: 0;
    list-style: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row {
    position: relative;
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    margin: 0;
    padding: 0 16px;
    border: 0;
    border-radius: 0;
    color: #000;
    background: none;
    cursor: pointer;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    left: 68px;
    height: 0.5px;
    background: #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row-av {
    display: flex;
    flex: 0 0 40px;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 600;
    color: #fff;
    background: linear-gradient(180deg, #a5abb9 0%, #858994 100%) !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row-meta {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row-meta strong {
    font-size: 17px;
    font-weight: 600;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row.is-missed .ios-ft-row-meta strong {
    color: #ff3b30;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row-meta em {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 15px;
    font-style: normal;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-kind {
    width: 17px;
    height: 12px;
    background: #8e8e93;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 12'><rect x='0.5' y='1.5' width='11' height='9' rx='2.2'/><path d='m12.5 4.5 4-2.3v7.6l-4-2.3z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 12'><rect x='0.5' y='1.5' width='11' height='9' rx='2.2'/><path d='m12.5 4.5 4-2.3v7.6l-4-2.3z'/></svg>") center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-kind--audio {
    width: 13px;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 12'><path d='M2.6.6c.4-.3.9-.2 1.1.2l1 1.8c.2.4.1.8-.2 1l-.7.6c.5 1 1.3 1.9 2.3 2.4l.6-.7c.3-.3.7-.4 1-.2l1.9 1.1c.4.2.5.7.2 1.1l-.7.9c-.6.6-1.5.8-2.2.5C4.2 8.3 2.2 6.3 1.1 3.9.8 3.2 1 2.3 1.6 1.7z'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 13 12'><path d='M2.6.6c.4-.3.9-.2 1.1.2l1 1.8c.2.4.1.8-.2 1l-.7.6c.5 1 1.3 1.9 2.3 2.4l.6-.7c.3-.3.7-.4 1-.2l1.9 1.1c.4.2.5.7.2 1.1l-.7.9c-.6.6-1.5.8-2.2.5C4.2 8.3 2.2 6.3 1.1 3.9.8 3.2 1 2.3 1.6 1.7z'/></svg>");
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row-when {
    font-size: 15px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-row-info {
    flex: 0 0 22px;
    width: 22px;
    height: 22px;
    font-size: 0;
    background: #007aff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><circle cx='11' cy='11' r='9.9' fill='none' stroke='black' stroke-width='1.5'/><circle cx='11' cy='6.6' r='1.25'/><path d='M9.2 9.4h2.5v6.2h1.4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M8.9 15.6h4.3' stroke='black' stroke-width='1.5' stroke-linecap='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'><circle cx='11' cy='11' r='9.9' fill='none' stroke='black' stroke-width='1.5'/><circle cx='11' cy='6.6' r='1.25'/><path d='M9.2 9.4h2.5v6.2h1.4' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/><path d='M8.9 15.6h4.3' stroke='black' stroke-width='1.5' stroke-linecap='round'/></svg>") center / contain no-repeat;
}
html.ios-form-tablet #ios-facetime .ios-ft-detail {
    flex: 1 1 auto;
    background: #1c1c1e;
}
html.ios-form-tablet #ios-facetime .ios-ft-empty {
    color: rgba(255, 255, 255, 0.6);
}
html.ios-form-tablet #ios-facetime .ios-ft-empty .ios-ft-empty-ico,
html.ios-form-tablet #ios-facetime .ios-ft-empty h2,
html.ios-form-tablet #ios-facetime .ios-ft-empty .ios-ft-cta {
    display: none;
}
/* Nouvel appel : feuille claire. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-compose {
    position: absolute;
    inset: 57px 0 0;
    z-index: 6;
    width: auto;
    margin: 0;
    padding: 0;
    border-radius: 12px 12px 0 0;
    color: #000;
    background: #fff;
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.2);
}
html.ios-form-tablet #ios-facetime .ios-ft-compose {
    inset: 80px 120px 60px;
    border-radius: 12px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-compose[hidden] {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-compose-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 56px;
    padding: 0 16px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-compose-head p {
    margin: 0;
    font-size: 17px;
    font-weight: 600;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-compose-head button {
    border: 0;
    font-size: 17px;
    color: #007aff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-facetime .ios-ft-compose-hint {
    margin: 0;
    padding: 10px 16px;
    border-bottom: 0.5px solid #c6c6c8;
    font-size: 17px;
    color: #8e8e93;
}
#ios-facetime .ios-ft-call[hidden],
#ios-facetime .ios-ft-empty[hidden] {
    display: none !important;
}

/* ═══ Appareil photo iOS 17 (guide d'utilisation ; app absente du simulateur, §10.53) ═══
   Pas de barre d'état ni de « Close » (on quitte par la barre d'accueil) ; haut : flash (éclair cerclé), chevron,
   Live (cercles concentriques) ; viseur 4:3 avec pastilles de zoom ; modes, « PHOTO » en jaune #ffd60a ; bas :
   vignette, déclencheur blanc cerclé, bascule caméra. Le chevron révèle Retardateur / HDR / Grille. */
html:is(.ios-form-phone, .ios-form-tablet).ios-camera-on body.ios-springboard #iosheader {
    visibility: hidden;
}
html.ios-form-phone.ios-camera-on body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 95;
    display: block !important;
    background: #fff;
    box-shadow: none;
}
#ios-camera [data-camera-close],
#ios-camera .ios-camera-side,
#ios-camera .ios-camera-mode-label,
#ios-camera .ios-camera-zoom-badge {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-panel {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-family: var(--font);
    color: #fff;
    background: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-top {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    flex: 0 0 100px;
    padding: 44px 22px 0;
    box-sizing: border-box;
    background: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-top-mid {
    display: contents;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-top-spacer {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera #ios-camera-flash,
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera #ios-camera-live,
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-chevron {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    font-size: 0;
    color: transparent;
    background: #fff;
    -webkit-mask: var(--cam-ico) center / contain no-repeat;
    mask: var(--cam-ico) center / contain no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera #ios-camera-flash {
    grid-column: 1;
    grid-row: 1;
    justify-self: start;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-chevron {
    grid-column: 2;
    grid-row: 1;
    width: 22px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera #ios-camera-live {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera :is(#ios-camera-flash, #ios-camera-live).is-on {
    background: #ffd60a;
}
#ios-camera #ios-camera-flash { --cam-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><circle cx='15' cy='15' r='13.5' fill='none' stroke='black' stroke-width='1.6'/><path d='M16.5 6.5 9.5 16.5h5l-1 7 7-10h-5z'/></svg>"); }
#ios-camera #ios-camera-live { --cam-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><circle cx='15' cy='15' r='3.5'/><circle cx='15' cy='15' r='7.5' fill='none' stroke='black' stroke-width='1.6'/><circle cx='15' cy='15' r='12.5' fill='none' stroke='black' stroke-width='1.6' stroke-dasharray='1.6 2.4'/></svg>"); }
#ios-camera .ios-camera-chevron { --cam-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 30'><path d='m3 18 8-7 8 7' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
#ios-camera.ios-camera--tools .ios-camera-chevron { background: #ffd60a; transform: rotate(180deg); }
/* Rangée d'outils (chevron) : au-dessus des modes. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera :is(#ios-camera-hdr, #ios-camera-timer, #ios-camera-grid-btn) {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera.ios-camera--tools :is(#ios-camera-hdr, #ios-camera-timer, #ios-camera-grid-btn) {
    position: absolute;
    bottom: 230px;
    z-index: 3;
    display: block;
    height: 30px;
    padding: 0 12px;
    border: 0;
    border-radius: 15px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    background: rgba(40, 40, 40, 0.8);
}
#ios-camera.ios-camera--tools #ios-camera-timer { left: calc(50% - 160px); }
#ios-camera.ios-camera--tools #ios-camera-hdr { left: calc(50% - 45px); }
#ios-camera.ios-camera--tools #ios-camera-grid-btn { left: calc(50% + 55px); }
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera.ios-camera--tools .is-on:is(#ios-camera-hdr, #ios-camera-timer, #ios-camera-grid-btn) {
    color: #ffd60a;
}
/* Viseur 4:3 et zooms. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-stage {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: 100%;
    aspect-ratio: 3 / 4;
    margin: 0;
    padding: 0;
}
html.ios-form-tablet #ios-camera .ios-camera-stage {
    flex: 1 1 auto;
    aspect-ratio: auto;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-view {
    position: absolute;
    inset: 0;
    border-radius: 0;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-zooms {
    position: absolute;
    top: calc(100px + 100vw * 4 / 3 - 56px);
    left: 50%;
    z-index: 2;
    display: flex;
    gap: 6px;
    padding: 4px;
    border-radius: 22px;
    background: rgba(0, 0, 0, 0.35);
    transform: translateX(-50%);
}
html.ios-form-tablet #ios-camera .ios-camera-zooms {
    top: auto;
    bottom: 190px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-zooms button {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: rgba(40, 40, 40, 0.7);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-zooms button.is-on {
    color: #ffd60a;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-modes {
    display: flex;
    justify-content: center;
    gap: 22px;
    margin: 18px 0 0;
    padding: 0;
    overflow: hidden;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-mode {
    padding: 0;
    border: 0;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.5px;
    white-space: nowrap;
    color: #fff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-mode.is-on {
    color: #ffd60a;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: auto 0 0;
    padding: 0 30px 40px;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-thumb {
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: #2c2c2e linear-gradient(135deg, #5b7ba6, #2e3f57);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-shutter {
    width: 74px;
    height: 74px;
    padding: 0;
    border: 4px solid #fff;
    border-radius: 50%;
    background: #fff;
    box-shadow: inset 0 0 0 3px #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-flip {
    width: 48px;
    height: 48px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 0;
    color: transparent;
    background: rgba(255, 255, 255, 0.18) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M6 11a8.5 8.5 0 0 1 15.4-2.5M22 17a8.5 8.5 0 0 1-15.4 2.5' fill='none' stroke='white' stroke-width='2' stroke-linecap='round'/><path d='M22.5 4.5v4.6h-4.6M5.5 23.5v-4.6h4.6' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 26px no-repeat;
}

/* ═══ Traduire iOS 17 (guide d'utilisation ; app absente du simulateur, §10.53) — iPhone ═══
   Clair plein écran ; langues en pilules grises avec bouton d'inversion ; carte de saisie (« Enter text » 28 pt)
   et traduction en bleu ; Entrée = « Go » ; Récents ; barre d'onglets 83 pt à pictogrammes
   (Translation, Conversation, Favorites). */
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate {
    z-index: 70;
}
html.ios-form-phone.ios-translate-open body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #000;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet).ios-translate-open body.ios-springboard #iosheader,
html:is(.ios-form-phone, .ios-form-tablet).ios-translate-open body.ios-springboard #iosheader #heure,
html:is(.ios-form-phone, .ios-form-tablet).ios-translate-open body.ios-springboard #iosheader #statusright {
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet).ios-translate-open body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__scrim,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate [data-tr-close],
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-title,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__chips,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__footnote,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__lead {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__sheet {
    position: absolute;
    inset: 0;
    display: flex;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-family: var(--font);
    color: #000;
    background: #f2f2f7;
    box-shadow: none;
    transform: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__main {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 47px 16px 100px;
    overflow: auto;
    background: #f2f2f7;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__head {
    display: flex;
    justify-content: flex-end;
    min-height: 34px;
    padding: 0;
    border: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-fav {
    border: 0;
    font-size: 17px;
    color: #007aff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__langs {
    display: grid;
    grid-template-columns: 1fr 36px 1fr;
    align-items: center;
    gap: 8px;
    margin: 0 0 14px;
    padding: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-src,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-dst {
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 12px;
    font-family: var(--font);
    font-size: 17px;
    font-weight: 500;
    color: #000;
    background: rgba(118, 118, 128, 0.12);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-swap {
    width: 36px;
    height: 36px;
    padding: 0;
    border: 0;
    font-size: 0;
    color: transparent;
    background: #007aff;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M5 10h17M17.5 5.5 22 10l-4.5 4.5M23 18H6M10.5 13.5 6 18l4.5 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 26px no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><path d='M5 10h17M17.5 5.5 22 10l-4.5 4.5M23 18H6M10.5 13.5 6 18l4.5 4.5' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center / 26px no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__pane {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__field,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__out {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 14px 16px;
    border: 0;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__field {
    border-radius: 14px 14px 0 0;
    box-shadow: inset 0 -0.5px 0 #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__out {
    min-height: 90px;
    border-radius: 0 0 14px 14px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__label {
    font-size: 15px;
    font-weight: 400;
    text-transform: none;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-input {
    min-height: 90px;
    padding: 0;
    border: 0;
    outline: 0;
    resize: none;
    font-family: var(--font);
    font-size: 28px;
    font-weight: 600;
    line-height: 34px;
    color: #000;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-result {
    margin: 0;
    font-size: 28px;
    font-weight: 600;
    line-height: 34px;
    color: #007aff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__primary {
    align-self: flex-end;
    width: auto;
    height: 34px;
    margin: 10px 0 0;
    padding: 0 18px;
    border: 0;
    border-radius: 17px;
    font-family: var(--font);
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    background: #007aff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__section {
    margin: 20px 0 6px;
    font-size: 20px;
    font-weight: 600;
    text-transform: none;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__history {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__hist {
    display: flex;
    flex-direction: column;
    padding: 10px 16px;
    border: 0;
    border-radius: 0;
    text-align: left;
    background: #fff;
    box-shadow: inset 0 -0.5px 0 #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__hist strong {
    font-size: 17px;
    font-weight: 400;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__hist span {
    font-size: 15px;
    color: #007aff;
}
html.ios-form-phone #ios-translate .ios-tr__phone-modes {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: flex;
    gap: 0;
    height: 83px;
    margin: 0;
    padding: 7px 4px 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.2);
    border-radius: 0;
    box-sizing: border-box;
    background: rgba(249, 249, 249, 0.94);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__pmode {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 500;
    color: #999;
    background: none;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__pmode.is-on {
    color: #007aff;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__pmode i {
    width: 28px;
    height: 26px;
    background: currentColor;
    -webkit-mask: var(--tr-ico) center / contain no-repeat;
    mask: var(--tr-ico) center / contain no-repeat;
}
#ios-translate .ios-tr__pmode[data-tr-mode="text"] { --tr-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><rect x='1' y='1' width='16' height='16' rx='4'/><rect x='11' y='9' width='16' height='16' rx='4' fill='none' stroke='black' stroke-width='1.8'/><path d='M5.5 13 9 5l3.5 8M6.5 10.5h5' fill='none' stroke='white' stroke-width='1.5' stroke-linecap='round'/></svg>"); }
#ios-translate .ios-tr__pmode[data-tr-mode="conversation"] { --tr-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><path d='M3 3h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H9l-4 3.5V15H3a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z'/><path d='M21 9h4a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-1v3.5L20 20h-6a2 2 0 0 1-2-2v-1' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'/></svg>"); }
#ios-translate .ios-tr__pmode[data-tr-mode="favorites"] { --tr-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><path d='M14 1.6l3.6 7.6 8.3 1-6.1 5.7 1.6 8.2L14 20l-7.4 4.1 1.6-8.2-6.1-5.7 8.3-1z'/></svg>"); }

/* ═══ Watch (app compagnon iPhone, guide d'utilisation iOS 17, §10.53) : plein écran clair, grand titre, barre
   d'onglets 83 pt « My Watch · Face Gallery · Discover » à pictogrammes ; pas de « Close » / « Done » / « Menu ». ═══ */
html.ios-form-phone #ios-watch {
    z-index: 70;
}
html.ios-form-phone.ios-watch-on body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #000;
    box-shadow: none;
}
html.ios-form-phone.ios-watch-on body.ios-springboard #iosheader,
html.ios-form-phone.ios-watch-on body.ios-springboard #iosheader #heure,
html.ios-form-phone.ios-watch-on body.ios-springboard #iosheader #statusright {
    color: #000;
}
html.ios-form-phone.ios-watch-on body.ios-springboard #iosheader .sb-bars i {
    background: #000;
}
html.ios-form-phone #ios-watch .ios-watch-scrim,
html.ios-form-phone #ios-watch .ios-watch-head:not(.ios-watch-head--main),
html.ios-form-phone #ios-watch .ios-watch-hint-side,
html.ios-form-phone #ios-watch .ios-watch-menu-btn,
html.ios-form-phone #ios-watch .ios-watch-done {
    display: none !important;
}
html.ios-form-phone #ios-watch .ios-watch-panel {
    position: absolute;
    inset: 0;
    display: flex;
    width: 100%;
    max-width: none;
    height: 100%;
    max-height: none;
    margin: 0;
    padding: 0;
    border-radius: 0;
    font-family: var(--font);
    color: #000;
    background: #f2f2f7;
    box-shadow: none;
    transform: none;
}
html.ios-form-phone #ios-watch .ios-watch-main {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    padding: 47px 0 90px;
    overflow: auto;
    background: #f2f2f7;
}
html.ios-form-phone #ios-watch .ios-watch-head--main {
    display: block;
    padding: 44px 16px 8px;
    border: 0;
    background: none;
}
html.ios-form-phone #ios-watch .ios-watch-head--main .ios-watch-title {
    margin: 0;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
    text-align: left;
}
html.ios-form-phone #ios-watch .ios-watch-side {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 2;
    display: block;
    width: auto;
    height: 83px;
    padding: 0;
    border: 0;
    border-top: 0.5px solid rgba(0, 0, 0, 0.2);
    background: rgba(249, 249, 249, 0.94);
}
html.ios-form-phone #ios-watch .ios-watch-nav {
    display: flex;
    gap: 0;
    padding: 7px 4px 0;
}
html.ios-form-phone #ios-watch .ios-watch-nav-item {
    display: flex;
    flex: 1 1 0;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    padding: 0;
    border: 0;
    border-radius: 0;
    font-size: 10px;
    font-weight: 500;
    color: #999;
    background: none;
}
html.ios-form-phone #ios-watch .ios-watch-nav-item.is-on {
    color: #007aff;
    background: none;
}
html.ios-form-phone #ios-watch .ios-watch-nav-item i {
    width: 28px;
    height: 26px;
    background: currentColor;
    -webkit-mask: var(--wt-ico) center / contain no-repeat;
    mask: var(--wt-ico) center / contain no-repeat;
}
#ios-watch [data-watch-tab="mywatch"] { --wt-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><rect x='7' y='5' width='14' height='16' rx='4'/><path d='M9.5 5V1.5h9V5M9.5 21v3.5h9V21' fill='none' stroke='black' stroke-width='1.8'/></svg>"); }
#ios-watch [data-watch-tab="faces"] { --wt-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><rect x='2' y='3' width='10' height='12' rx='3'/><rect x='16' y='3' width='10' height='12' rx='3'/><rect x='2' y='17' width='10' height='8' rx='2.5'/><rect x='16' y='17' width='10' height='8' rx='2.5'/></svg>"); }
#ios-watch [data-watch-tab="discover"] { --wt-ico: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 26'><circle cx='14' cy='13' r='11.5'/><path d='m18.5 8.5-3 6-6 3 3-6z' fill='white'/></svg>"); }
html.ios-form-phone #ios-watch .ios-watch-body {
    padding: 0 16px;
}
html.ios-form-phone #ios-watch .ios-watch-nav {
    flex-direction: row !important;
}
html.ios-form-phone #ios-watch .ios-watch-list {
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
}

/* Forme iPhone : pas de « Done » (on quitte par la barre d'accueil, blanche sur le fond noir de l'app). */
html.ios-form-phone #ios-fitness button[data-fit-close] {
    display: none !important;
}
html.ios-form-phone.ios-fitness-on body.ios-springboard #ios-shell-home.ios-shell-home {
    z-index: 80;
    display: block !important;
    background: #fff;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera .ios-camera-top {
    position: static;
}

/* Traduire iPad (iPadOS 17) : barre latérale 320 pt (Translation, Conversation, Favorites, langues téléchargées) |
   traduction ; plein écran clair sous la barre d'état ; le clavier iPad reste au-dessus de l'app. */
html.ios-form-phone #ios-translate .ios-tr__side {
    display: none !important;
}
html.ios-form-tablet #ios-translate .ios-tr__phone-modes {
    display: none !important;
}
html.ios-form-tablet #ios-translate .ios-tr__side {
    display: flex;
    flex: 0 0 320px;
    flex-direction: column;
    padding: 30px 12px 0;
    border-right: 0.5px solid #c6c6c8;
    background: #f2f2f7;
}
html.ios-form-tablet #ios-translate .ios-tr__side-title {
    margin: 0 8px 12px;
    font-size: 34px;
    font-weight: 700;
    color: #000;
}
html.ios-form-tablet #ios-translate .ios-tr__mode {
    height: 44px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    font-size: 17px;
    text-align: left;
    color: #000;
    background: none;
}
html.ios-form-tablet #ios-translate .ios-tr__mode.is-on {
    color: #fff;
    background: #007aff;
}
html.ios-form-tablet #ios-translate .ios-tr__main {
    padding: 30px 60px 40px;
    background: #f2f2f7;
}
html.ios-form-tablet #ios-ipad-kbd {
    z-index: 85;
}
html.ios-form-tablet #ios-translate .ios-tr__main {
    padding: 30px 24px 40px;
}
/* iPad : la date de la barre d'état suit le texte sombre des apps claires. */
html.ios-form-tablet:is(.ios-notes-on, .ios-music-on, .ios-mail-on, .ios-facetime-on, .ios-translate-open) body.ios-springboard #iosheader #ios-date,
html.ios-form-tablet:is(.ios-notes-on, .ios-music-on, .ios-mail-on, .ios-facetime-on, .ios-translate-open) body.ios-springboard #iosheader #ios-focus-badge {
    color: #000;
}
/* Clavier logiciel au-dessus des apps plein écran du shell (z 70) et sous la barre d'accueil. */
html.ios-form-phone body.ios-springboard #ios-keyboard {
    z-index: 78;
}
/* Clavier iPhone (iOS 17, anglais) : deuxième rangée centrée (9 touches), pictogrammes ⇧ ⌫ ☺, sous le clavier
   seulement le micro de dictée à droite (pas de « Floating », « Undo », « Hide »). */
html.ios-form-phone #ios-keyboard .ios-kb-row:nth-child(2) {
    padding: 0 18px;
}
html.ios-form-phone #ios-keyboard .ios-kb-key--glyph,
html.ios-form-phone #ios-keyboard .ios-kb-key--emoji {
    font-size: 22px;
}
html.ios-form-phone #ios-keyboard .ios-kb-key--emoji {
    flex: 0 0 42px;
}
html.ios-form-phone #ios-keyboard .ios-kb-toolbar [data-kb-act="emoji"],
html.ios-form-phone #ios-keyboard .ios-kb-toolbar [data-kb-act="float"],
html.ios-form-phone #ios-keyboard .ios-kb-toolbar [data-kb-act="undo"],
html.ios-form-phone #ios-keyboard .ios-kb-toolbar [data-kb-act="hide"] {
    visibility: hidden;
}
html.ios-form-phone #ios-keyboard #ios-kb-mic {
    order: 9;
    width: 28px;
    height: 28px;
    margin-left: auto;
    padding: 0;
    font-size: 0;
    color: transparent;
    background: #3c3c43;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><rect x='10' y='3' width='8' height='15' rx='4'/><path d='M6 14a8 8 0 0 0 16 0M14 22v4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'><rect x='10' y='3' width='8' height='15' rx='4'/><path d='M6 14a8 8 0 0 0 16 0M14 22v4' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'/></svg>") center / contain no-repeat;
}
/* Traduire — Favoris : grand titre, pas de langues, état vide centré ; Conversation : bulles et commandes iOS. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate[data-tr-mode="favorites"] .ios-tr__langs,
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate[data-tr-mode="favorites"] #ios-tr-fav {
    display: none !important;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__large {
    margin: 0 0 10px;
    font-size: 34px;
    font-weight: 700;
    line-height: 41px;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__empty-state {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 180px 30px 0;
    text-align: center;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__empty-state strong {
    font-size: 22px;
    font-weight: 700;
    color: #000;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__empty-state span {
    font-size: 15px;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__fav-list {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__fav-row {
    display: flex;
    flex-direction: column;
    padding: 10px 16px;
    border: 0;
    text-align: left;
    background: #fff;
    box-shadow: inset 0 -0.5px 0 #c6c6c8;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__fav-row strong { font-size: 17px; font-weight: 400; color: #000; }
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__fav-row span { font-size: 17px; color: #007aff; }
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__fav-row em { font-size: 13px; font-style: normal; color: #8e8e93; }
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__conv {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 260px;
    margin: 0 0 12px;
    padding: 0;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__conv .ios-tr__empty {
    margin: auto;
    font-size: 20px;
    font-weight: 600;
    color: #8e8e93;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__bubble {
    max-width: 78%;
    padding: 8px 12px;
    border-radius: 18px;
    background: #fff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__bubble--dst {
    align-self: flex-end;
    color: #fff;
    background: #007aff;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__bubble p { margin: 0; font-size: 17px; }
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__bubble-lang { font-size: 12px; opacity: 0.7; }
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate #ios-tr-conv-input {
    min-height: 50px;
    padding: 0;
    border: 0;
    outline: 0;
    resize: none;
    font-family: var(--font);
    font-size: 17px;
    background: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__field:has(#ios-tr-conv-input) {
    border-radius: 14px;
    box-shadow: none;
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-translate .ios-tr__secondary {
    align-self: center;
    margin: 18px 0 0;
    padding: 0;
    border: 0;
    font-family: var(--font);
    font-size: 17px;
    color: #ff3b30;
    background: none;
}

/* ═══ iPad, accueil d'usine (DefaultIconState~ipad.plist 17.5, §10.56) : petits widgets Horloge et Notes, grande
   pile Météo en bas à gauche (le profil GT garde les cases vides du simulateur). ═══ */
#widgets .w-factory {
    display: none;
}
html.ios-form-tablet.ios-home-factory #widgets :is(.widget-maps, .widget-photos, .widget-blank--s1, .widget-blank--l2) {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}
html.ios-form-tablet.ios-home-factory #widgets :is(.widget-maps, .widget-photos, .widget-blank--s1, .widget-blank--l2) > :not(.w-factory) {
    visibility: hidden;
}
html.ios-form-tablet.ios-home-factory #widgets .w-factory {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    font-family: var(--font);
}
/* Horloge : cadran analogique blanc sur fond noir, ville en capitales. */
html.ios-form-tablet.ios-home-factory #widgets .w-clock {
    align-items: center;
    justify-content: center;
    background: #1c1c1e;
}
html.ios-form-tablet.ios-home-factory #widgets .w-clock-face {
    width: 112px;
    height: 112px;
}
html.ios-form-tablet.ios-home-factory #widgets .w-clock-city {
    position: absolute;
    top: 36px;
    left: 0;
    right: 0;
    font-size: 10px;
    font-weight: 700;
    text-align: center;
    color: #8e8e93;
}
/* Notes : en-tête or, deux notes. */
html.ios-form-tablet.ios-home-factory #widgets .w-notes {
    padding: 12px 14px;
    color: #000;
    background: #fff;
}
html.ios-form-tablet.ios-home-factory #widgets .w-notes-head {
    display: flex;
    align-items: center;
    gap: 5px;
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 600;
    color: #e3a300;
}
html.ios-form-tablet.ios-home-factory #widgets .w-notes-head span {
    margin-left: auto;
    font-size: 14px;
    color: #8e8e93;
}
html.ios-form-tablet.ios-home-factory #widgets .w-notes-ico {
    width: 16px;
    height: 14px;
    background: #e3a300;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h3l1.5 1.8h6.5A1.5 1.5 0 0 1 15 4.3v7.2a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 14'><path d='M1 2.5A1.5 1.5 0 0 1 2.5 1h3l1.5 1.8h6.5A1.5 1.5 0 0 1 15 4.3v7.2a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 1 11.5z'/></svg>") center / contain no-repeat;
}
html.ios-form-tablet.ios-home-factory #widgets .w-notes-item {
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 5px 0;
    border-top: 0.5px solid #e5e5ea;
}
html.ios-form-tablet.ios-home-factory #widgets .w-notes-item strong {
    overflow: hidden;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    text-overflow: ellipsis;
}
html.ios-form-tablet.ios-home-factory #widgets .w-notes-item span {
    font-size: 12px;
    color: #8e8e93;
}
/* Météo grande : actuel, heure par heure, 4 jours. */
html.ios-form-tablet.ios-home-factory #widgets .w-weather-l {
    gap: 10px;
    padding: 16px 16px 14px;
    color: #fff;
    background: linear-gradient(180deg, #2e7bd6 0%, #5aa6ea 100%);
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-top {
    display: grid;
    grid-template-columns: 1fr auto;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-top p {
    margin: 0;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-place {
    font-size: 15px;
    font-weight: 600;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-temp {
    grid-row: 2 / 4;
    font-size: 40px;
    font-weight: 300;
    line-height: 1;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-cond,
html.ios-form-tablet.ios-home-factory #widgets .w-wl-hl {
    grid-column: 2;
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-cond {
    grid-row: 1 / 3;
    align-self: end;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-hours,
html.ios-form-tablet.ios-home-factory #widgets .w-wl-days {
    margin: 0;
    padding: 0;
    list-style: none;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-hours {
    display: flex;
    justify-content: space-between;
    padding: 6px 0;
    border-top: 0.5px solid rgba(255, 255, 255, 0.3);
    border-bottom: 0.5px solid rgba(255, 255, 255, 0.3);
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-hours li {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    font-size: 12px;
    font-weight: 600;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-days li {
    display: grid;
    grid-template-columns: 1fr 24px 34px 34px;
    align-items: center;
    height: 22px;
    font-size: 13px;
    font-weight: 600;
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-days em {
    font-style: normal;
    text-align: right;
    color: rgba(255, 255, 255, 0.65);
}
html.ios-form-tablet.ios-home-factory #widgets .w-wl-days b {
    text-align: right;
}
html.ios-form-tablet.ios-home-factory #widgets .w-weather-l i[data-wx] {
    display: block;
    width: 18px;
    height: 16px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}
#widgets .w-weather-l i[data-wx="Sun"] { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'><circle cx='13' cy='12' r='5' fill='%23ffd60a'/><g stroke='%23ffd60a' stroke-width='2' stroke-linecap='round'><path d='M13 1.5v2.5M13 20v2.5M2.5 12H5M21 12h2.5M5.6 4.6l1.8 1.8M18.6 17.6l1.8 1.8M5.6 19.4l1.8-1.8M18.6 6.4l1.8-1.8'/></g></svg>"); }
#widgets .w-weather-l i[data-wx="Cloud"] { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'><path d='M7.5 19.5a4.8 4.8 0 0 1-.6-9.6 6.5 6.5 0 0 1 12.4 1.6 4 4 0 0 1-.3 8z' fill='white'/></svg>"); }
#widgets .w-weather-l i[data-wx="Rain"] { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 24'><path d='M7.5 15a4.6 4.6 0 0 1-.6-9.2 6.3 6.3 0 0 1 12 1.6 3.8 3.8 0 0 1-.3 7.6z' fill='white'/><path d='m8.5 17.5-1.2 3M13.5 17.5l-1.2 3M18.5 17.5l-1.2 3' stroke='%2364d2ff' stroke-width='2' stroke-linecap='round'/></svg>"); }

/* ═══ Écran verrouillé iOS 17 / 18 d'usine (guide d'utilisation « Wake and unlock », §10.57) ═══
   Cadenas centré ; date (21 pt semi-gras) au-dessus de l'heure (104 pt grasse) ; aucun widget, ni nom
   d'opérateur, ni « Face ID or Swipe up », ni note ; notifications en verre clair avec l'icône de l'app ;
   iPhone : Lampe et Appareil photo en boutons ronds aux coins ; « Swipe up to open » discret au-dessus de la barre. */
.ios-lock-screen--factory .ios-ls-carrier,
.ios-lock-screen--factory .ios-ls-status-trail,
.ios-lock-screen--factory .ios-ls-auth,
.ios-lock-screen--factory .ios-ls-widgets,
.ios-lock-screen--factory .ios-ls-hint,
.ios-lock-screen--factory .ios-ls-summary,
.ios-lock-screen--factory .ios-ls-notifs-head,
.ios-lock-screen--factory #ios-ls-wallet,
.ios-lock-screen--factory #ios-ls-cc {
    display: none !important;
}
.ios-lock-screen--factory .ios-ls-status {
    justify-content: center;
}
.ios-lock-screen--factory .ios-ls-clock {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.ios-lock-screen--factory .ios-ls-date {
    order: 1;
    margin: 0;
    font-family: var(--font);
    font-size: 21px;
    font-weight: 600;
    letter-spacing: 0;
    color: rgba(255, 255, 255, 0.82);
}
.ios-lock-screen--factory .ios-ls-time {
    order: 2;
    margin: -6px 0 0;
    font-family: var(--font);
    font-size: 104px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -2px;
    color: rgba(255, 255, 255, 0.92);
}
.ios-lock-screen--factory .ios-ls-focus-label {
    order: 3;
}
.ios-lock-screen--factory .ios-ls-card {
    position: relative;
    margin: 0 0 8px;
    padding: 12px 14px 12px 60px;
    border: 0;
    border-radius: 20px;
    color: #000;
    background: rgba(245, 245, 245, 0.72);
    backdrop-filter: blur(30px) saturate(1.6);
    -webkit-backdrop-filter: blur(30px) saturate(1.6);
    box-shadow: none;
}
.ios-lock-screen--factory .ios-ls-card::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 12px;
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: center / cover no-repeat;
}
.ios-lock-screen--factory .ios-ls-card[data-ls-app="messages"]::before { background-image: url("../../assets/images/toolkits/ios/apps/messages.png"); }
.ios-lock-screen--factory .ios-ls-card[data-ls-app="calendrier"]::before { background-image: url("../../assets/images/toolkits/ios/apps/calendrier.png"); }
.ios-lock-screen--factory .ios-ls-card[data-ls-app="mail"]::before { background-image: url("../../assets/images/toolkits/ios/apps/mail.png"); }
.ios-lock-screen--factory .ios-ls-card__meta {
    display: flex;
    justify-content: space-between;
    margin: 0 0 1px;
    font-size: 15px;
    color: #000;
}
.ios-lock-screen--factory .ios-ls-card__meta strong {
    font-weight: 600;
}
.ios-lock-screen--factory .ios-ls-card__meta span {
    font-size: 13px;
    color: rgba(60, 60, 67, 0.6);
}
.ios-lock-screen--factory .ios-ls-card p {
    margin: 0;
    font-size: 15px;
    line-height: 20px;
    color: #000;
}
.ios-lock-screen--factory .ios-ls-card__extra {
    color: rgba(60, 60, 67, 0.6) !important;
}
.ios-lock-screen--factory .ios-ls-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 46px 46px;
    background: none;
}
.ios-lock-screen--factory .ios-ls-shortcut {
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 0;
    color: transparent;
    background: rgba(0, 0, 0, 0.32) center / 24px no-repeat;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
}
.ios-lock-screen--factory #ios-ls-flash { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M8 2h8v4l-2 3v12a1 1 0 0 1-1 1h-2a1 1 0 0 1-1-1V9L8 6z' fill='white'/><circle cx='12' cy='13' r='1.3' fill='black'/></svg>"); }
.ios-lock-screen--factory #ios-ls-camera { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 8a2 2 0 0 1 2-2h2.5L9 4h6l1.5 2H19a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z' fill='white'/><circle cx='12' cy='12.5' r='3.6' fill='none' stroke='black' stroke-width='1.6'/></svg>"); }
.ios-lock-screen--factory .ios-ls-unlock {
    position: absolute;
    bottom: 22px;
    left: 50%;
    padding: 0;
    border: 0;
    font-family: var(--font);
    font-size: 15px;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.8);
    background: none;
    box-shadow: none;
    transform: translateX(-50%);
}
html.ios-form-tablet .ios-lock-screen--factory .ios-ls-shortcut {
    display: none;
}
html.ios-form-tablet .ios-lock-screen--factory .ios-ls-time {
    font-size: 120px;
}
.ios-lock-screen--factory .ios-ls-notifs {
    position: absolute;
    right: 8px;
    bottom: 128px;
    left: 8px;
    margin: 0;
}
html.ios-form-tablet .ios-lock-screen--factory .ios-ls-notifs {
    right: 150px;
    left: 150px;
    bottom: 90px;
}
.ios-lock-screen--factory .ios-ls-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
}

/* ═══ Centre de notifications iOS 17 / 18 (iPhone et iPad) : même langage que l'écran verrouillé (§10.57) —
   date au-dessus d'une heure grasse, cartes en verre clair avec l'icône de l'app, « Clear » en petit rond « × ». ═══ */
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-date {
    font-family: var(--font);
    font-size: 21px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.82);
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-clock {
    margin: -4px 0 0;
    font-family: var(--font);
    font-size: 104px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: -2px;
    color: rgba(255, 255, 255, 0.92);
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-x {
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    font-size: 0;
    color: transparent;
    background: rgba(255, 255, 255, 0.35) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='m2.5 2.5 7 7m0-7-7 7' stroke='%23333' stroke-width='1.8' stroke-linecap='round'/></svg>") center / 11px no-repeat;
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card {
    position: relative;
    margin: 0 0 8px;
    padding: 12px 14px 12px 60px;
    border: 0;
    border-radius: 20px;
    color: #000;
    background: rgba(245, 245, 245, 0.72);
    backdrop-filter: blur(30px) saturate(1.6);
    -webkit-backdrop-filter: blur(30px) saturate(1.6);
    box-shadow: none;
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card::before {
    content: "";
    position: absolute;
    top: 12px;
    left: 12px;
    width: 38px;
    height: 38px;
    border-radius: 9px;
    background: #8e8e93 center / cover no-repeat;
}
body:is(#ios-17, #ios-18) .ios-nc-card[data-nc-app="messages"]::before { background-image: url("../../assets/images/toolkits/ios/apps/messages.png"); }
body:is(#ios-17, #ios-18) .ios-nc-card[data-nc-app="facetime"]::before { background-image: url("../../assets/images/toolkits/ios/apps/facetime.png"); }
body:is(#ios-17, #ios-18) .ios-nc-card[data-nc-app="calendrier"]::before { background-image: url("../../assets/images/toolkits/ios/apps/calendrier.png"); }
body:is(#ios-17, #ios-18) .ios-nc-card[data-nc-app="rappels"]::before { background-image: url("../../assets/images/toolkits/ios/apps/rappels.png"); }
body:is(#ios-17, #ios-18) .ios-nc-card:is([data-nc-app="settings"], [data-nc-app="software-update"])::before { background-image: url("../../assets/images/toolkits/ios/apps/settings.png"); }
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card__meta {
    display: flex;
    justify-content: space-between;
    margin: 0 0 1px;
    font-size: 15px;
    color: #000;
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card__meta strong {
    font-weight: 600;
    text-transform: none;
    letter-spacing: 0;
    color: #000;
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card__meta span {
    font-size: 13px;
    color: rgba(60, 60, 67, 0.6);
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card p {
    margin: 0;
    font-size: 15px;
    line-height: 20px;
    color: #000;
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card__dismiss {
    display: none;
}
body:is(#ios-17, #ios-18) .ios-sys__panel--nc .ios-nc-card--stack::after {
    content: "";
    position: absolute;
    right: 10px;
    bottom: -7px;
    left: 10px;
    z-index: -1;
    height: 14px;
    border-radius: 0 0 16px 16px;
    background: rgba(245, 245, 245, 0.5);
}
/* Vue Aujourd'hui iPhone — re-mesurée sur la GT 16 du 2026-10-12 (§10.59) : colonne à y 64 (et non 72), Headlines
   de 546 pt (cinq rangées d'articles puis « No Stories »), Plans relégué sous le pli. */
html.ios-form-phone .ios-today-ipad {
    top: 64px;
}
html.ios-form-phone .ios-tw2--news {
    height: 546px;
}
html.ios-form-phone .ios-tw2-news-rows .ios-tw2-news-row:nth-child(5) {
    display: block;
}
html.ios-form-phone .ios-tw2--maps {
    top: 748px;
}
html.ios-form-phone .ios-tw2-news-row b {
    top: -7px;
    width: 72px;
    height: 72px;
}
/* iOS 18 (GT 16 iPhone 13, 18.0) : colonne à (22, 67), second petit widget à x 210, grand widget 550 pt. */
html.ios-form-phone body#ios-18 .ios-today-ipad {
    top: 67px;
    left: 22px;
}
html.ios-form-phone body#ios-18 .ios-tw2--battery {
    left: 188px;
}
html.ios-form-phone body#ios-18 .ios-tw2--news {
    height: 550px;
}
html.ios-form-phone body#ios-18 .ios-tw2--maps {
    top: 752px;
}
/* Vue Aujourd'hui iPad 18 (GT 16 iPadOS 18.0, §10.60) : « Top Stories » en petit titre rouge (15 pt) avec le logo
   News à droite, filet avant « Trending » (deux rangées), Plans : pastille de 128 pt à deux ronds (recherche, lieu). */
.ios-tw2-maps-b2 {
    display: none;
}
html.ios-form-tablet body#ios-18 .ios-tw2-news-title {
    position: relative;
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 700;
    line-height: 18px;
    color: #fa2d48;
}
html.ios-form-tablet body#ios-18 .ios-tw2-news-title::after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 18px;
    height: 18px;
    background: #fa2d48;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><path d='M3 2h3l6 9V2h3v14h-3L6 7v9H3z'/></svg>") center / contain no-repeat;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'><path d='M3 2h3l6 9V2h3v14h-3L6 7v9H3z'/></svg>") center / contain no-repeat;
}
html.ios-form-tablet body#ios-18 .ios-tw2-news-trending {
    margin-top: 6px;
    padding-top: 10px;
    border-top: 0.5px solid #e5e5ea;
}
html.ios-form-tablet body#ios-18 .ios-tw2-maps-btn {
    width: 128px;
}
html.ios-form-tablet body#ios-18 .ios-tw2-maps-b2 {
    position: absolute;
    top: 14px;
    left: 70px;
    display: block;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #d1d1d6;
}

/* §10.61 — sélecteur d'apps : vignette vivante de l'app (dernier écran) dans chaque carte. */
.ios-as-preview {
    position: relative;
    overflow: hidden;
}
.ios-as-snap {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    margin: 0;
    padding: 0;
    border: 0;
    background: #fff;
    transform-origin: 0 0;
    pointer-events: none;
}
.ios-as-preview.has-snap > img,
.ios-as-preview.has-snap > .ios-as-fallback,
.ios-as-preview.has-snap > .ios-as-preview-label {
    visibility: hidden;
}

/* §10.62 — Bibliothèque iPad, recherche (GT 19 iPadOS 17) : feuille uniforme (pas de voile par rangée, qui
   dessinait une bande sous la dernière app) ; index A–Z au pas de 24 pt depuis y 306. */
html.ios-form-tablet .ios-al--searching .ios-al-alpha .ios-al-app {
    background: transparent;
}
html.ios-form-tablet.ios-orient-portrait body#ios-17 .ios-al--searching .ios-al-index {
    top: 306px;
    line-height: 24px;
}
/* Feuille de recherche (GT 19) : ≈ fond d'écran non assombri + voile blanc 18 % ; le clone voit le fond déjà
   voilé (× 0,73) — brightness le compense. */
html.ios-form-tablet body#ios-17 .ios-al--searching .ios-al-alpha {
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(30px) brightness(1.2) saturate(1.2);
    -webkit-backdrop-filter: blur(30px) brightness(1.2) saturate(1.2);
}
/* Le voile de la Bibliothèque est une « backdrop root » : la feuille n'y verrait que le voile sombre. En
   recherche, le flou passe sur un ::before, frère et non ancêtre de la feuille. */
html.ios-form-tablet body#ios-17 #ios-app-library.ios-al--searching {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
html.ios-form-tablet body#ios-17 #ios-app-library.ios-al--searching::before {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(0, 0, 0, 0.44);
    backdrop-filter: blur(40px) saturate(1.05);
    -webkit-backdrop-filter: blur(40px) saturate(1.05);
    pointer-events: none;
}
/* §10.62 — dossier ouvert iPad 17 (GT 18) : titre « System » 34 pt (glyphes x 99–260, y 442–476), icônes 60
   depuis (663, 542) au pas de 114, libellés 12 pt à 9 pt sous l'icône. */
html.ios-form-tablet.ios-orient-portrait body#ios-17 .ios-al-folder-sheet-title {
    top: 434px;
    left: 98px;
    font-size: 38px;
    line-height: 44px;
}
html.ios-form-tablet.ios-orient-portrait body#ios-17 .ios-al-folder-sheet-grid {
    top: 542px;
    left: 93px;
}
html.ios-form-tablet body#ios-17 .ios-al-folder-sheet .ios-al-app {
    font-size: 12px;
    line-height: 14px;
}
html.ios-form-tablet body#ios-17 .ios-al-folder-sheet .ios-al-app span {
    margin-top: 4px;
}
/* iPad 18 (GT 18 iPadOS 18.0) : même dossier, 60 pt plus haut (titre y 382, icônes y 482) ; feuille de
   recherche : même correction de « backdrop root » que 17. */
html.ios-form-tablet.ios-orient-portrait body#ios-18 .ios-al-folder-sheet-title {
    top: 374px;
    left: 98px;
    font-size: 38px;
    line-height: 44px;
}
html.ios-form-tablet.ios-orient-portrait body#ios-18 .ios-al-folder-sheet-grid {
    top: 482px;
    left: 93px;
}
html.ios-form-tablet body#ios-18 .ios-al-folder-sheet .ios-al-app {
    font-size: 12px;
    line-height: 14px;
}
html.ios-form-tablet body#ios-18 .ios-al-folder-sheet .ios-al-app span {
    margin-top: 4px;
}
html.ios-form-tablet body#ios-18 .ios-al--searching .ios-al-alpha .ios-al-app {
    background: transparent;
}
html.ios-form-tablet body#ios-18 .ios-al--searching .ios-al-alpha {
    background: rgba(255, 255, 255, 0.18);
    backdrop-filter: blur(30px) brightness(1.2) saturate(1.2);
    -webkit-backdrop-filter: blur(30px) brightness(1.2) saturate(1.2);
}
html.ios-form-tablet body#ios-18 #ios-app-library.ios-al--searching {
    background: transparent;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
html.ios-form-tablet body#ios-18 #ios-app-library.ios-al--searching::before {
    position: absolute;
    inset: 0;
    content: "";
    background: rgba(0, 0, 0, 0.44);
    backdrop-filter: blur(40px) saturate(1.05);
    -webkit-backdrop-filter: blur(40px) saturate(1.05);
    pointer-events: none;
}

/* §10.68 — Spotlight (GT 20 « se », iPhone 13 et iPad Air 5 iOS 17) : la suggestion web porte l'icône Safari réelle
   (carré arrondi), et « Password & Security » le sous-titre « Apple ID » sous le libellé. */
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-webico--safari {
    border-radius: 22.5%;
    background: url("../../assets/images/toolkits/ios/apps/safari.png") center / cover no-repeat;
}
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-webico--safari::before,
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-webico--safari::after {
    display: none;
}
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-panelrow:has(.ios-spot-panelsub) {
    display: grid;
    grid-template-columns: auto 1fr;
    column-gap: 14px;
}
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-panelrow:has(.ios-spot-panelsub) > img,
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-panelrow:has(.ios-spot-panelsub) > .ios-spot-glyph {
    grid-row: 1 / span 2;
}
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-panelrow:has(.ios-spot-panelsub) b {
    align-self: end;
    line-height: 20px;
}
.ios-spot-panelsub {
    display: block;
    align-self: start;
    font-size: 13px;
    font-weight: 400;
    line-height: 16px;
    color: rgba(235, 235, 245, 0.6);
}
html.ios-form-tablet .ios-spot-panelsub {
    color: #8e8e93;
}
/* iPad 17 (GT 20) : feuille de résultats blanche opaque, en-têtes de section 13 pt gris, rangées Réglages de 92 pt,
   pastille Silent Mode ronde. */
html.ios-form-tablet body#ios-17 #ios-spotlight:has(.ios-spot-panel) {
    background: #fff;
}
html.ios-form-tablet body#ios-17 .ios-spot-section--ipad {
    font-size: 13px;
    color: #6d6d72;
}
html.ios-form-tablet body#ios-17 .ios-spot-panelrow {
    padding: 13px 0 19px;
}
html.ios-form-tablet body#ios-17 .ios-spot-glyph--silent {
    border-radius: 50%;
}
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-panelrow:has(.ios-spot-panelsub) b {
    grid-row: 1;
    grid-column: 2;
}
html:is(.ios-form-phone, .ios-form-tablet) .ios-spot-panelrow:has(.ios-spot-panelsub) .ios-spot-panelsub {
    grid-row: 2;
    grid-column: 2;
}
html.ios-form-tablet body#ios-17 .ios-spot-panelrow .ios-spot-glyph--silent {
    display: flex;
    align-items: center;
    justify-content: center;
}
html.ios-form-tablet body#ios-17 .ios-spot-panelrow b {
    font-weight: 500;
}
html.ios-form-tablet body#ios-17 #ios-spotlight:has(.ios-spot-panel) .ios-spot-kicker {
    font-size: 13px;
    font-weight: 600;
    color: #6d6d72;
}

/* §10.74 — Réglages › Notes › iCloud désactivé : la section iCloud de la colonne Dossiers disparaît. */
#ios-notes.ios-notes--no-icloud .ios-notes-icloud-head,
#ios-notes.ios-notes--no-icloud #ios-notes-side-nav {
    display: none;
}

/* §10.74 — Appareil photo, « Voir hors du cadre » : la scène se prolonge, assombrie, sous la barre du haut et la zone des
   commandes ; désactivé, ces zones redeviennent noires. */
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera.ios-camera--outside .ios-camera-panel {
    background:
        linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
        radial-gradient(ellipse at 30% 30%, rgba(255, 200, 120, 0.35), transparent 45%),
        radial-gradient(ellipse at 70% 58%, rgba(80, 140, 255, 0.28), transparent 50%),
        linear-gradient(160deg, #1a1a1c 0%, #2c3340 45%, #1e2430 100%);
}
html:is(.ios-form-phone, .ios-form-tablet) #ios-camera.ios-camera--outside .ios-camera-top {
    background: transparent;
}

/* §10.76 — Mode sombre des apps du shell sans palette sombre (Notes, Mail, Musique) : même couche que les apps en
   iframe (themes/ios/app-dark.css) — inversion de luminance à teinte conservée, médias ré-inversés. */
html.ios-cc-dark :is(#ios-notes, #ios-mail, #ios-music) {
    filter: invert(1) hue-rotate(180deg);
}
html.ios-cc-dark :is(#ios-notes, #ios-mail, #ios-music) :is(img, video, canvas, .ios-music-art, [class*="artwork"], [class*="cover"]) {
    filter: invert(1) hue-rotate(180deg);
}
html.ios-cc-dark:is(.ios-notes-on, .ios-mail-on, .ios-music-on) body #iosheader,
html.ios-cc-dark:is(.ios-notes-on, .ios-mail-on, .ios-music-on) body #iosheader :is(#heure, #statusright, #statusright *) {
    color: #fff !important;
}

/* §10.81 — Réglages › Clavier : barre prédictive masquable, aperçu du caractère (iPhone). */
.ios-keyboard--no-predictive .ios-kb-suggest {
    display: none !important;
}
.ios-kb-key {
    position: relative;
}
.ios-kb-key.is-preview::after {
    position: absolute;
    bottom: calc(100% + 4px);
    left: 50%;
    z-index: 3;
    display: grid;
    place-items: center;
    width: 50px;
    height: 56px;
    content: attr(data-kb);
    border-radius: 9px;
    font-size: 32px;
    font-weight: 300;
    color: #000;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transform: translateX(-50%);
    pointer-events: none;
}

/* ── Extinction — « slide to power off » (Settings › General › Shut Down) ──
   Curseur en pilule en haut (bouton rond blanc, symbole d'alimentation rouge, libellé centré), « Cancel » rond
   en bas, accueil assombri et flouté ; à l'extinction, l'écran passe au noir avant le retour à CapsuleOS. */
body.ios-springboard #ios-power-off {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 76px 0 72px;
    box-sizing: border-box;
    font-family: 'SF UI', -apple-system, BlinkMacSystemFont, sans-serif;
    color: #fff;
    background: rgba(0, 0, 0, 0.38);
    -webkit-backdrop-filter: blur(24px) saturate(120%);
    backdrop-filter: blur(24px) saturate(120%);
    z-index: 90;
}

body.ios-springboard #ios-power-off[hidden] {
    display: none !important;
}

html.ios-form-phone body.ios-springboard #ios-power-off {
    position: fixed;
    padding-top: 64px;
}

body.ios-springboard .ios-po-track {
    --ios-po-progress: 0;
    position: relative;
    display: flex;
    width: 300px;
    height: 64px;
    border-radius: 32px;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.24);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

body.ios-springboard .ios-po-label {
    padding-left: 52px;
    font-size: 19px;
    font-weight: 400;
    letter-spacing: -0.01em;
    color: rgba(255, 255, 255, 0.92);
    opacity: calc(1 - var(--ios-po-progress) * 1.6);
}

body.ios-springboard .ios-po-knob {
    position: absolute;
    top: 4px;
    left: 4px;
    display: flex;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    color: #ff3b30;
    background: #fff;
    touch-action: none;
    cursor: grab;
}

body.ios-springboard .ios-po-knob.is-dragging {
    cursor: grabbing;
}

body.ios-springboard .ios-po-knob.is-returning {
    transition: transform 240ms cubic-bezier(0.2, 0.9, 0.3, 1);
}

body.ios-springboard .ios-po-knob svg {
    width: 28px;
    height: 28px;
}

body.ios-springboard .ios-po-cancel {
    display: flex;
    margin-top: auto;
    padding: 0;
    border: 0;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    font: inherit;
    font-size: 15px;
    color: #fff;
    background: none;
    cursor: pointer;
}

body.ios-springboard .ios-po-cancel-ico {
    display: flex;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.24);
    -webkit-backdrop-filter: blur(20px);
    backdrop-filter: blur(20px);
}

body.ios-springboard .ios-po-cancel-ico svg {
    width: 26px;
    height: 26px;
}

body.ios-springboard .ios-po-black {
    position: absolute;
    inset: 0;
    background: #000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 600ms ease;
}

body.ios-springboard #ios-power-off.is-off .ios-po-black {
    opacity: 1;
    pointer-events: auto;
}
