/* ============================================================
 * notes-pro.css — Upgraded Sermon Notes panel (v2.6.3)
 * Self-contained, namespaced .eos-ntp-* so it never collides with
 * the legacy .eos-nt-* rules. Themed via [data-theme="dark"].
 * ============================================================ */
.eos-watch--cinema .eos-notes.eos-ntp{
  /* v2.9.5 — anchored to global tokens (light+dark track with no seam); warm gold, neutral surfaces */
  --ntp-bg:var(--color-bg,#FFFFFF);--ntp-soft:var(--color-bg-muted,#F2F2F2);--ntp-softer:var(--color-bg-alt,#FAFAFA);
  --ntp-fg:var(--color-text,#191917);--ntp-fg2:var(--color-text-muted,#525252);--ntp-muted:var(--color-text-subtle,#707070);--ntp-border:var(--color-border,#E5E5E5);
  --ntp-amber:#7E560F;--ntp-amber-dark:#5E3F0B;--ntp-amber-txt:#7E560F;--ntp-amber-glow:rgba(169,118,31,.14);--ntp-on-amber:#FFFFFF;
  --ntp-green:#0F6E56;--ntp-blue:#2563EB;--ntp-red:#DC2626;--ntp-shadow:var(--elevation-card,0 16px 42px rgba(20,18,12,.14));
  font-family:var(--font-body,'Figtree',system-ui,sans-serif);
  display:flex!important;flex-direction:column!important;height:100%;position:relative;padding:0;overflow:hidden;
}
[data-theme="dark"] .eos-watch--cinema .eos-notes.eos-ntp{
  --ntp-amber:#EDB94F;--ntp-amber-dark:#E7B24B;--ntp-amber-txt:#EDB94F;--ntp-amber-glow:rgba(231,178,75,.18);--ntp-on-amber:#1B160A;--ntp-shadow:var(--elevation-card,0 16px 42px rgba(0,0,0,.55));
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .eos-watch--cinema .eos-notes.eos-ntp{
  --ntp-amber:#EDB94F;--ntp-amber-dark:#E7B24B;--ntp-amber-txt:#EDB94F;--ntp-amber-glow:rgba(231,178,75,.18);--ntp-on-amber:#1B160A;--ntp-shadow:var(--elevation-card,0 16px 42px rgba(0,0,0,.55));
}}
.eos-ntp *{box-sizing:border-box}
.eos-ntp .svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;flex:none}
.eos-ntp .mi{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;vertical-align:-3px;flex:none}

/* header */
.eos-ntp-head{display:flex;align-items:center;gap:10px;padding:12px 14px 8px}
.eos-ntp-title{font-size:14px;font-weight:700;letter-spacing:.2px;display:flex;align-items:center;gap:7px;color:var(--ntp-fg)}
.eos-ntp-info{position:relative;display:inline-flex}
.eos-ntp-info>button{width:20px;height:20px;border-radius:50%;border:1px solid var(--ntp-border);background:var(--ntp-soft);color:var(--ntp-muted);font-size:11px;font-weight:700;cursor:pointer;line-height:1;padding:0}
.eos-ntp-info .bub{position:absolute;left:0;top:27px;width:236px;background:var(--ntp-bg);border:1px solid var(--ntp-border);border-radius:11px;padding:10px 12px;font-size:11.5px;line-height:1.55;color:var(--ntp-fg2);box-shadow:var(--ntp-shadow);display:none;z-index:40}
.eos-ntp-info.open .bub{display:block}
.eos-ntp-meta{margin-left:auto;display:flex;align-items:center;gap:9px}
.eos-ntp-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--ntp-green);background:rgba(15,110,86,.12);padding:4px 9px;border-radius:999px;white-space:nowrap}
[data-theme="dark"] .eos-ntp-chip{color:#6FD3B0;background:rgba(15,110,86,.22)}
.eos-ntp-chip.is-saving{color:var(--ntp-amber-txt);background:var(--ntp-amber-glow);animation:ntpSav 1s ease-in-out infinite}
/* v2.9.9 — synced-to-account state: green "saved" plus a small warm-gold "synced beyond this device" dot */
.eos-ntp-chip.is-synced::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--ntp-amber-txt);flex:none}
@keyframes ntpSav{0%,100%{opacity:.62}50%{opacity:1}}
.eos-ntp-chip .tk{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.eos-ntp-wc{font-size:11px;color:var(--ntp-muted);font-weight:600;white-space:nowrap}

/* controls row */
.eos-ntp-controls{display:flex;align-items:center;gap:8px;padding:0 14px 10px}
.eos-ntp-seg{display:inline-flex;background:var(--ntp-soft);border-radius:999px;padding:3px;box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}
.eos-ntp-seg button{border:0;background:transparent;color:var(--ntp-fg2);font:inherit;font-size:11.5px;font-weight:600;padding:8px 13px;border-radius:999px;cursor:pointer;display:inline-flex;align-items:center;gap:5px;transition:.15s}
.eos-ntp-seg button.on{background:var(--ntp-bg);color:var(--ntp-amber-txt);box-shadow:0 2px 8px rgba(0,0,0,.18)}
.eos-ntp-seg button .mi{width:15px;height:15px}
.eos-ntp-spacer{flex:1}
.eos-ntp-now{display:none;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--ntp-muted);background:var(--ntp-soft);border:1px solid var(--ntp-border);padding:4px 10px;border-radius:999px}
.eos-ntp.has-media .eos-ntp-now{display:inline-flex}
.eos-ntp-now .pl{color:var(--ntp-green);display:inline-flex}
.eos-ntp-now .pl .mi{width:10px;height:10px;vertical-align:0}

/* toolbar */
.eos-ntp-tb{display:flex;align-items:center;gap:6px 3px;flex-wrap:wrap;padding:7px 14px;background:var(--ntp-softer);border-top:1px solid var(--ntp-border);border-bottom:1px solid var(--ntp-border)}
.eos-ntp-tb button,.eos-ntp-tb select{height:36px;min-width:36px;border:0;background:transparent;color:var(--ntp-fg);border-radius:11px;cursor:pointer;font:inherit;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 8px;transition:transform .14s cubic-bezier(.2,.85,.25,1),background .15s,box-shadow .15s}
.eos-ntp-tb button:hover,.eos-ntp-tb select:hover{background:var(--ntp-soft)}
.eos-ntp-tb button:active{transform:scale(.92)}
.eos-ntp-tb button.on{background:var(--ntp-amber-glow);color:var(--ntp-amber-txt);box-shadow:inset 0 0 0 1px var(--ntp-amber-glow)}
.eos-ntp-tb select{font-size:12px;border:1px solid var(--ntp-border);background:var(--ntp-bg);min-width:auto;padding:0 6px}
.eos-ntp-tb .b{font-weight:800}.eos-ntp-tb .i{font-style:italic;font-family:Georgia,serif}.eos-ntp-tb .u{text-decoration:underline}
.eos-ntp-tb .sep{width:1px;height:20px;background:var(--ntp-border);margin:0 4px}
.eos-ntp-tb .grow{flex:1}
.eos-ntp-tb .more{font-size:12.5px;font-weight:600;padding:0 11px}
.eos-ntp-tb .more .mi{width:18px;height:6px}
.eos-ntp .ts-btn{display:none}
.eos-ntp.has-media .ts-btn{display:inline-flex}

/* popovers + menus (glass) */
.eos-ntp-pop,.eos-ntp-menu{position:absolute;z-index:60;background:var(--ntp-bg);border:1px solid var(--ntp-border);border-radius:16px;box-shadow:var(--ntp-shadow);display:none;backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3)}
.eos-ntp-pop{padding:12px;min-width:236px}
.eos-ntp-pop.open,.eos-ntp-menu.open{display:block}
.eos-ntp-pop h4{margin:0 0 8px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--ntp-muted)}
.eos-ntp-field{display:flex;gap:7px}
.eos-ntp-field input[type=text]{flex:1;height:34px;border:1px solid var(--ntp-border);border-radius:9px;background:var(--ntp-soft);color:var(--ntp-fg);font:inherit;font-size:13px;padding:0 10px;outline:none}
.eos-ntp-field input[type=text]:focus{border-color:var(--ntp-amber)}
.eos-ntp-field select{height:34px;border:1px solid var(--ntp-border);border-radius:9px;background:var(--ntp-soft);color:var(--ntp-fg);font:inherit;font-size:12px;padding:0 6px}
.eos-ntp-go{height:34px;padding:0 14px;border:0;border-radius:9px;background:var(--ntp-amber);color:var(--ntp-on-amber);font-weight:700;cursor:pointer;font-size:13px;box-shadow:0 4px 13px var(--ntp-amber-glow)}
.eos-ntp-err{color:var(--ntp-red);font-size:11px;margin-top:6px;display:none}
.eos-ntp-err.show{display:block}
.eos-ntp-hint{color:var(--ntp-muted);font-size:11px;margin-top:8px;line-height:1.5}
.eos-ntp-row{display:flex;flex-wrap:wrap;gap:7px}
.eos-ntp-menu{padding:6px;min-width:190px}
.eos-ntp-menu button{display:flex;align-items:center;gap:9px;width:100%;border:0;background:transparent;color:var(--ntp-fg);font:inherit;font-size:13px;padding:9px 11px;border-radius:9px;cursor:pointer;text-align:left}
.eos-ntp-menu button:hover{background:var(--ntp-soft)}
.eos-ntp-menu .md{height:1px;background:var(--ntp-border);margin:5px 2px}
.eos-ntp-menu .lab{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--ntp-muted);padding:7px 11px 4px}
.eos-ntp-menu .mi{width:16px;height:16px}
.eos-ntp-sw{width:26px;height:26px;border-radius:8px;border:2px solid transparent;cursor:pointer;position:relative;outline:1px solid rgba(0,0,0,.12);outline-offset:-1px;padding:0;background-clip:padding-box}
.eos-ntp-sw.on{border-color:var(--ntp-fg)}

/* editor */
/* v2.36.3 - THE BLACK NOTES SURFACE. The writing area owned no background of its own:
   the editor, the paper canvas and the ink canvases are all transparent, so the sheet
   relied entirely on an ancestor (the side panel) being opaque white. In Studio's dual /
   floating layouts that assumption breaks - the transparent stack let whatever sat behind
   it show through (the #000 video layer, the #141414 workspace backdrop, or a stale
   over-sized canvas), and the surface rendered solid black. Per the opaque-surfaces rule,
   the paper must own its background. --ntp-bg tracks the panel's --st-solid in every theme
   (#FFFFFF light / #1F1F1E dark), so this can never be a transparent hole and always
   matches the panel it sits in. The paper-ruling canvas and text draw ON TOP of it. */
.eos-ntp-edwrap{flex:1;position:relative;overflow:hidden;min-height:0;background:var(--ntp-bg,#FFFFFF)}
[data-theme="dark"] .eos-ntp-edwrap{background:var(--ntp-bg,#1F1F1E)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .eos-ntp-edwrap{background:var(--ntp-bg,#1F1F1E)}}
.eos-ntp-editor{position:absolute;inset:0;overflow-y:auto;padding:18px 20px;font-size:14.5px;line-height:1.7;color:var(--ntp-fg);outline:none;-webkit-overflow-scrolling:touch}
.eos-ntp-editor:empty::before{content:attr(data-ph);color:var(--ntp-muted);opacity:.7;pointer-events:none}
.eos-ntp-editor h1{font-size:21px;font-weight:700;margin:2px 0 10px;line-height:1.25}
.eos-ntp-editor h2{font-size:17px;font-weight:700;margin:16px 0 7px;color:var(--ntp-amber-txt)}
.eos-ntp-editor h3{font-size:14.5px;font-weight:700;margin:13px 0 5px;opacity:.9}
.eos-ntp-editor p{margin:0 0 10px}
/* v2.32.0 - list markers are declared EXPLICITLY and defended.
   The owner reported bullets with no bullet symbol. It could not be reproduced against
   the theme's own 27 stylesheets - markers computed as disc/list-item and painted - so
   the cause is CSS this theme does not own: a plugin or a page-builder reset of the form
   `ul{list-style:none}`, which is one of the most common lines in WordPress. A member's
   own note content should not be at the mercy of that, hence !important here: it is
   defending typed content from unknown outside CSS, not winning an argument inside the
   theme. Nesting levels are spelled out too, because a bare `disc` inherits down and
   every level of an outline then looks identical. */
.eos-ntp-editor ul,.eos-ntp-editor ol{padding-left:24px;margin:7px 0 11px;list-style-position:outside!important}
.eos-ntp-editor li{margin-bottom:5px;display:list-item!important}
.eos-ntp-editor ul{list-style-type:disc!important}
.eos-ntp-editor ul ul{list-style-type:circle!important}
.eos-ntp-editor ul ul ul{list-style-type:square!important}
.eos-ntp-editor ol{list-style-type:decimal!important}
.eos-ntp-editor ol ol{list-style-type:lower-alpha!important}
.eos-ntp-editor ol ol ol{list-style-type:lower-roman!important}
/* the marker takes the note's own colour, so a theme that greys markers cannot make
   them vanish against the page, and it stays legible in both themes */
.eos-ntp-editor li::marker{color:var(--ntp-fg);font-size:1em}
.eos-ntp-editor ol li::marker{font-weight:600}
/* the checklist is a div, not a list item - it must never grow a second marker */
.eos-ntp-editor .ntp-check{list-style:none!important}
.eos-ntp-editor blockquote{border-left:3px solid var(--ntp-green);padding:6px 15px;margin:11px 0;font-family:Georgia,serif;font-style:italic;color:var(--ntp-fg2);background:rgba(15,110,86,.06);border-radius:0 8px 8px 0}
[data-theme="dark"] .eos-ntp-editor blockquote{border-left-color:#5DCAA5;background:rgba(93,202,165,.09)}
.eos-ntp-editor a{color:var(--ntp-blue);text-decoration:underline}
[data-theme="dark"] .eos-ntp-editor a{color:#85B7EB}
.eos-ntp-editor img{max-width:100%;border-radius:8px;margin:6px 0}
.eos-ntp-editor mark{border-radius:3px;padding:0 1px}
/* templates */
.eos-ntp-editor.tpl-lined{background-image:linear-gradient(to bottom,transparent 31px,var(--ntp-border) 31px,var(--ntp-border) 32px,transparent 32px);background-size:100% 32px;background-position:0 12px;line-height:32px}
.eos-ntp-editor.tpl-dotted{background-image:radial-gradient(var(--ntp-border) 1.1px,transparent 1.1px);background-size:22px 24px;background-position:10px 16px;line-height:24px}
/* checklist (persistent) */
.eos-ntp-editor .ntp-check{display:flex;align-items:flex-start;gap:9px;margin:5px 0;line-height:1.6}
.eos-ntp-editor .ntp-check>.box{flex:none;width:19px;height:19px;margin-top:1px;border:2px solid var(--ntp-muted);border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;user-select:none;transition:all .12s}
.eos-ntp-editor .ntp-check>.box svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none;opacity:0}
.eos-ntp-editor .ntp-check[data-done="1"]>.box{background:var(--ntp-green);border-color:var(--ntp-green)}
.eos-ntp-editor .ntp-check[data-done="1"]>.box svg{opacity:1}
.eos-ntp-editor .ntp-check[data-done="1"]>.txt{text-decoration:line-through;color:var(--ntp-muted)}
.eos-ntp-editor .ntp-check>.txt{flex:1;outline:none}
/* scripture block */
.eos-ntp-editor .ntp-scripture{margin:12px 0;padding:11px 14px 12px;border-left:3px solid var(--ntp-amber);background:var(--ntp-amber-glow);border-radius:0 10px 10px 0}
.eos-ntp-editor .ntp-scripture .ref{display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--ntp-amber-txt);margin-bottom:5px}
.eos-ntp-editor .ntp-scripture .ref svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:2;flex:none}
.eos-ntp-editor .ntp-scripture .vt{font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.62;color:var(--ntp-fg)}
.eos-ntp-editor .ntp-scripture .vt a{color:var(--ntp-blue);font-family:inherit;font-weight:600}
.eos-ntp-editor .ntp-scripture .tr{display:block;margin-top:7px;font-size:10px;font-weight:700;color:var(--ntp-muted);letter-spacing:.4px;text-transform:uppercase}
/* timestamp pill */
.eos-ntp-editor .ntp-ts{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;font-family:ui-monospace,monospace;background:var(--ntp-amber-glow);color:var(--ntp-amber-txt);padding:2px 9px;border-radius:999px;margin:0 4px;cursor:pointer;user-select:none;vertical-align:middle}
.eos-ntp-editor .ntp-ts svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2}

/* draw ink - v2.28.0: the whole ink surface, the docked tool row and its popovers
   now live in notes-ink.css. Removed from here: .eos-ntp-palette (a floating box
   pinned inside the overflow:hidden edwrap, clipped at Studio-panel size and sitting
   on top of the ink it was meant to control) and .eos-ntp-pendet (a badge hardcoded
   to #7c5cff, the one colour in the panel that ignored the theme). */

/* footer */
.eos-ntp-foot{display:flex;align-items:center;gap:8px;padding:9px 14px calc(9px + env(safe-area-inset-bottom)) 14px;border-top:1px solid var(--ntp-border);background:var(--ntp-softer)}
.eos-ntp-fbtn{height:32px;padding:0 12px;border:1px solid var(--ntp-border);background:var(--ntp-bg);color:var(--ntp-fg);border-radius:9px;font:inherit;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:transform .14s,background .15s}
.eos-ntp-fbtn:hover{background:var(--ntp-amber-glow);color:var(--ntp-amber-txt);border-color:var(--ntp-amber-glow);transform:translateY(-1px)}
.eos-ntp-fbtn.danger:hover{background:rgba(220,38,38,.12);color:var(--ntp-red);border-color:rgba(220,38,38,.3)}
.eos-ntp-fbtn .svg{width:15px;height:15px}
.eos-ntp-foot .grow{flex:1}
/* bible chips + loading */
.eos-ntp-bchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.eos-ntp-bchips button{border:1px solid var(--ntp-border);background:var(--ntp-soft);color:var(--ntp-fg2);font:inherit;font-size:11.5px;font-weight:600;padding:5px 10px;border-radius:999px;cursor:pointer;transition:.15s}
.eos-ntp-bchips button:hover{border-color:var(--ntp-amber);color:var(--ntp-amber-txt)}
.eos-ntp-bload{font-size:12px;color:var(--ntp-muted);margin-top:9px;display:none}
.eos-ntp-bload.show{display:block}
#eos-ntp-bible-pop{min-width:300px}
/* focus rings */
.eos-ntp button:focus-visible,.eos-ntp select:focus-visible,.eos-ntp [contenteditable]:focus-visible,.eos-ntp input:focus-visible{outline:2px solid var(--ntp-amber);outline-offset:2px}
.eos-ntp-tb button:focus:not(:focus-visible),.eos-ntp-fbtn:focus:not(:focus-visible){outline:none}
/* toast + confirm (namespaced, panel-local) */
.eos-ntp-toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:#1F1D18;color:#fff;font-size:13px;font-weight:600;padding:11px 18px;border-radius:12px;box-shadow:0 12px 36px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:all .25s;z-index:99999;display:inline-flex;align-items:center;gap:8px}
.eos-ntp-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.eos-ntp-toast .tk{color:#6FD3B0}
/* v2.36.1 - THE CONFIRM DIALOG CARRIES ITS OWN OPAQUE PALETTE.
   confirmBox appends .eos-ntp-cf-back to <body>, OUTSIDE the .eos-notes.eos-ntp element
   that declares every --ntp-* token. So `background: var(--ntp-bg)` on the card had NO
   value to resolve and computed to transparent - the owner's see-through "Clear this
   note?" dialog, with chat messages readable straight through a destructive confirmation.
   This is the same defect the studio layout box had in v2.34.1, in a different file.
   Re-declared here as LITERAL opaque colours (light + dark + system), never var(), so no
   missing token and no glassy --color-bg can ever make a confirm dialog translucent again.
   RULE for any future body-mounted overlay: it must carry its own opaque background, not
   borrow a token scoped to a subtree it does not live in. */
.eos-ntp-cf-back{
  --ntp-bg:#FFFFFF; --ntp-soft:#F2F2F2; --ntp-fg:#191917; --ntp-fg2:#525252;
  --ntp-border:#E5E5E5; --ntp-red:#DC2626; --ntp-shadow:0 16px 42px rgba(20,18,12,.30);
  position:fixed;inset:0;background:rgba(10,8,4,.6);display:none;align-items:center;justify-content:center;z-index:99998
}
[data-theme="dark"] .eos-ntp-cf-back{
  --ntp-bg:#1F1F1E; --ntp-soft:#2A2A28; --ntp-fg:#F8F8F6; --ntp-fg2:#B5B5B0;
  --ntp-border:rgba(255,255,255,.14); --ntp-red:#E24B4A; --ntp-shadow:0 18px 46px rgba(0,0,0,.6);
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]) .eos-ntp-cf-back{
  --ntp-bg:#1F1F1E; --ntp-soft:#2A2A28; --ntp-fg:#F8F8F6; --ntp-fg2:#B5B5B0;
  --ntp-border:rgba(255,255,255,.14); --ntp-red:#E24B4A; --ntp-shadow:0 18px 46px rgba(0,0,0,.6);
}}
.eos-ntp-cf-back.open{display:flex}
.eos-ntp-cf{background:var(--ntp-bg);border:1px solid var(--ntp-border);border-radius:16px;padding:22px;max-width:320px;box-shadow:var(--ntp-shadow);text-align:center}
.eos-ntp-cf h3{margin:0 0 7px;font-size:16px;color:var(--ntp-fg)}
.eos-ntp-cf p{margin:0 0 18px;color:var(--ntp-fg2);font-size:13.5px;line-height:1.5}
.eos-ntp-cf .acts{display:flex;gap:10px;justify-content:center}
.eos-ntp-cf button{height:40px;padding:0 18px;border-radius:10px;font:inherit;font-size:13.5px;font-weight:700;cursor:pointer;border:1px solid var(--ntp-border)}
.eos-ntp-cf .cancel{background:var(--ntp-soft);color:var(--ntp-fg)}
.eos-ntp-cf .ok{background:var(--ntp-red);color:#fff;border-color:var(--ntp-red)}

/* v2.9.5 — OS-dark twins (for viewers without an explicit data-theme) */
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  .eos-ntp-chip{color:#6FD3B0;background:rgba(15,110,86,.22)}
  .eos-ntp-editor blockquote{border-left-color:#5DCAA5;background:rgba(93,202,165,.09)}
  .eos-ntp-editor a{color:#85B7EB}
}}
/* v2.9.5 — reduced-motion safety */
@media (prefers-reduced-motion: reduce){
  /* v2.28.0 - .eos-ntp * never reached the toast or the confirm dialog: both are
     appended to document.body, outside the panel subtree. */
  .eos-ntp *,.eos-ntp-toast,.eos-ntp-cf-back,.eos-ntp-cf{animation:none!important;transition:none!important}
}


/* v2.18.1 - sermon notes on a phone. 16px stops iOS zooming on focus; 40px
   gives the toolbar real touch targets during a service. */
@media (max-width: 1100px) {
  .eos-ntp-editor { font-size: 16px; }
  .eos-ntp-tb select,
  .eos-ntp-field input[type=text],
  .eos-ntp-field select { font-size: 16px; }
  .eos-ntp-tb button,
  .eos-ntp-tb select { height: 40px; min-width: 40px; }
}
