/* Website cursor family. Native SVG cursors keep exact hotspots, work in the
   dialog top layer, and fall back to a visible OS pointer if unavailable.
   Load this file after the chapter styles; touch input stays unchanged. */
@media (hover: hover) and (pointer: fine) {
  :root {
    --site-cursor-default: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%3E%3Ccircle%20cx%3D%2210.0%22%20cy%3D%2210.0%22%20r%3D%225%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E") 10 10;
    --site-cursor-link: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2236%22%20height%3D%2236%22%20viewBox%3D%220%200%2036%2036%22%3E%3Ccircle%20cx%3D%2218.0%22%20cy%3D%2218.0%22%20r%3D%2216.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M12%2024%2024%2012M13%2012h11v11%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 18 18;
    --site-cursor-hover: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2228%22%20height%3D%2228%22%20viewBox%3D%220%200%2028%2028%22%3E%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%2211%22%20fill%3D%22%23eeeee1%22%20fill-opacity%3D%22.16%22%20stroke%3D%22%23eeeee1%22%20stroke-width%3D%221%22%2F%3E%3Ccircle%20cx%3D%2214%22%20cy%3D%2214%22%20r%3D%224%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221%22%2F%3E%3C%2Fsvg%3E") 14 14;
    --site-cursor-grab: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246%22%20height%3D%2246%22%20viewBox%3D%220%200%2046%2046%22%3E%3Ccircle%20cx%3D%2223.0%22%20cy%3D%2223.0%22%20r%3D%2221.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M16%2025v-9a2%202%200%200%201%204%200v8-12a2%202%200%200%201%204%200v12-10a2%202%200%200%201%204%200v10-6a2%202%200%200%201%204%200v10c0%206-4%209-9%209-4%200-6-2-8-5l-5-8a2.2%202.2%200%200%201%203.6-2.5L16%2025Z%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 23 23;
    --site-cursor-hold: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246%22%20height%3D%2246%22%20viewBox%3D%220%200%2046%2046%22%3E%3Ccircle%20cx%3D%2223.0%22%20cy%3D%2223.0%22%20r%3D%2221.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M15%2025v-5a2.5%202.5%200%200%201%205%200v3-5a2.5%202.5%200%200%201%205%200v5-4a2.5%202.5%200%200%201%205%200v5-2a2%202%200%200%201%204%200v6c0%206-4%209-10%209-5%200-8-3-10-7l-3-6a2.4%202.4%200%200%201%204-2l4%205%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 23 23;
    --site-cursor-rotate: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2246%22%20height%3D%2246%22%20viewBox%3D%220%200%2046%2046%22%3E%3Ccircle%20cx%3D%2223.0%22%20cy%3D%2223.0%22%20r%3D%2221.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M14%2020a10%2010%200%200%201%2017-4l3%204M34%2013v7h-7M32%2027a10%2010%200%200%201-17%204l-3-4M12%2034v-7h7%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 23 23;
    --site-cursor-contact: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2272%22%20height%3D%2272%22%20viewBox%3D%220%200%2072%2072%22%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22p%22%20x2%3D%221%22%20y2%3D%221%22%3E%3Cstop%20stop-color%3D%22%23f4f3e9%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23d8ddcb%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3Ccircle%20cx%3D%2236%22%20cy%3D%2236%22%20r%3D%2234.5%22%20fill%3D%22url%28%23p%29%22%20stroke%3D%22%23fcfbf1%22%20stroke-opacity%3D%22.85%22%2F%3E%3Cpath%20d%3D%22M26%2046%2046%2026M27%2026h19v19%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 36 36;
    --site-cursor-copy: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2238%22%20height%3D%2238%22%20viewBox%3D%220%200%2038%2038%22%3E%3Ccircle%20cx%3D%2219.0%22%20cy%3D%2219.0%22%20r%3D%2217.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M15%2014V11h14v16h-3M10%2016h13v15H10Z%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 19 19;
    --site-cursor-copied: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2238%22%20height%3D%2238%22%20viewBox%3D%220%200%2038%2038%22%3E%3Ccircle%20cx%3D%2219.0%22%20cy%3D%2219.0%22%20r%3D%2217.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M11%2019l5%205%2012-12%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.9%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 19 19;
    --site-cursor-text: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2226%22%20height%3D%2226%22%20viewBox%3D%220%200%2026%2026%22%3E%3Cpath%20d%3D%22M9%204h8M13%204v18M9%2022h8%22%20stroke%3D%22%23eeeee1%22%20stroke-width%3D%224%22%20stroke-linecap%3D%22round%22%2F%3E%3Cpath%20d%3D%22M9%204h8M13%204v18M9%2022h8%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.4%22%20stroke-linecap%3D%22round%22%2F%3E%3C%2Fsvg%3E") 13 13;
    --site-cursor-resize: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%3E%3Ccircle%20cx%3D%2220.0%22%20cy%3D%2220.0%22%20r%3D%2218.0%22%20fill%3D%22%23eeeee1%22%20stroke%3D%22%23293029%22%20stroke-opacity%3D%22.52%22%20stroke-width%3D%221%22%2F%3E%3Cpath%20d%3D%22M10%2020h20M15%2015l-5%205%205%205M25%2015l5%205-5%205%22%20fill%3D%22none%22%20stroke%3D%22%23293029%22%20stroke-width%3D%221.7%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E") 20 20;
  }
  html, body, body * {cursor:var(--site-cursor-default), auto !important;}
  body :is(a[href], button, [role="button"], summary, select),
  body :is(a[href], button, [role="button"], summary, select) * {cursor:var(--site-cursor-link), pointer !important;}
  body .c03-benefit, body .c03-benefit * {cursor:var(--site-cursor-hover), auto !important;}
  body .scene-zone, body .scene-zone * {cursor:var(--site-cursor-grab), grab !important;}
  body .scene-zone.is-dragging, body .scene-zone.is-dragging *,
  body .scene-zone:active, body .scene-zone:active * {cursor:var(--site-cursor-hold), grabbing !important;}
  body .ep-stage.ep-turntable-hover, body .ep-stage.ep-turntable-hover * {cursor:var(--site-cursor-rotate), grab !important;}
  body .ep-stage.ep-grabbing, body .ep-stage.ep-grabbing * {cursor:var(--site-cursor-hold), grabbing !important;}
  body .c04-contact-page, body .c04-contact-page * {cursor:var(--site-cursor-contact), pointer !important;}
  body dialog::backdrop {cursor:var(--site-cursor-default), auto;}
  body #c04-copy-email, body #c04-copy-email * {cursor:var(--site-cursor-copy), pointer !important;}
  body #c04-copy-email[data-copied="true"], body #c04-copy-email[data-copied="true"] * {cursor:var(--site-cursor-copied), pointer !important;}
  body :is(textarea, input:not([type="button"]):not([type="submit"]):not([type="range"]):not([type="checkbox"]):not([type="radio"]), [contenteditable="true"]) {cursor:var(--site-cursor-text), text !important;}
  body input[type="range"] {cursor:var(--site-cursor-resize), ew-resize !important;}
  body :is(button:disabled, [aria-disabled="true"]), body :is(button:disabled, [aria-disabled="true"]) * {cursor:var(--site-cursor-default), default !important;}
}
