@media (hover: hover) and (pointer: fine) {
  html.thesia-cursor, html.thesia-cursor * { cursor: none !important; }
  html.thesia-cursor { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 26 26'%3E%3Cpath d='M4 2L4 21L9 16L12 22L15 21L12 15L19 15Z' fill='%23B8893C' stroke='%23FBF3DF' stroke-width='1.2' stroke-linejoin='round'/%3E%3C/svg%3E") 4 2, auto !important; }
  html.thesia-cursor a, html.thesia-cursor button, html.thesia-cursor summary, html.thesia-cursor label, html.thesia-cursor [role="button"] { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Cpath d='M14 2L16 12L26 14L16 16L14 26L12 16L2 14L12 12Z' fill='%23D6B173' stroke='%23FBF3DF' stroke-width='.8' stroke-linejoin='round'/%3E%3Ccircle cx='14' cy='14' r='1.5' fill='%23FFF7E4'/%3E%3C/svg%3E") 14 14, pointer !important; }
  html.thesia-cursor input, html.thesia-cursor textarea, html.thesia-cursor select { cursor: text !important; }
  html.thesia-cursor .cursor-dot, html.thesia-cursor .cursor-ring, html.thesia-cursor .stardust { display: block; }
}
html:not(.thesia-cursor), html:not(.thesia-cursor) * {
  cursor: auto;
}
html:not(.thesia-cursor) a, html:not(.thesia-cursor) button,
html:not(.thesia-cursor) summary, html:not(.thesia-cursor) label,
html:not(.thesia-cursor) [role="button"] { cursor: pointer; }
html:not(.thesia-cursor) input, html:not(.thesia-cursor) textarea { cursor: text; }
.cursor-dot, .cursor-ring, .stardust {
  position: fixed; left: 0; top: 0; pointer-events: none; border-radius: 50%; will-change: transform;
}
.cursor-dot {
  width: 9px; height: 9px; z-index: 10000; opacity: 0;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle at 45% 40%, #FFFBEE, #E6C58C 74%, transparent);
  box-shadow: 0 0 0 1.7px rgba(18,33,46,.72), 0 0 10px 2px rgba(255,228,155,.9), 0 0 22px 7px rgba(214,177,115,.42);
  transition: opacity .25s ease;
}
.cursor-ring {
  width: 34px; height: 34px; z-index: 9999; opacity: 0; transform: translate(-50%,-50%);
  border: 1.7px solid rgba(169,129,63,.92);
  box-shadow: 0 0 0 1px rgba(18,33,46,.35), 0 0 16px rgba(198,154,78,.28), inset 0 0 10px rgba(198,154,78,.12);
  transition: width .28s cubic-bezier(.2,.8,.2,1), height .28s cubic-bezier(.2,.8,.2,1), border-color .28s ease, background .28s ease, opacity .25s ease;
}
.cursor-ring.hover { width: 56px; height: 56px; border-color: #d6b173; background: rgba(214,177,115,.1); box-shadow: 0 0 24px rgba(214,177,115,.4); }
.cursor-ring.press { width: 26px; height: 26px; }
.stardust {
  width: 10px; height: 10px; z-index: 9998; border-radius: 0; opacity: .9;
  transform: translate(-50%,-50%);
  background: radial-gradient(circle, #fff3d8 0%, #d6b173 58%, transparent 100%);
  clip-path: polygon(50% 0,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0 50%,40% 40%);
  transition: opacity .8s ease, transform .8s ease;
}
@media (hover:none), (pointer:coarse) { .cursor-dot,.cursor-ring,.stardust { display:none !important; } }
@media (prefers-reduced-motion:reduce) { .cursor-ring,.stardust { transition-duration:.01ms; } }
