/* RN Charmed: font bundled in Cloudflare Worker, supports Vietnamese diacritics. */
@font-face{font-family:"RN Charmed";src:url("/assets/fonts/rn-charmed.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
html body{font-family:"RN Charmed","Be Vietnam Pro",system-ui,sans-serif}
/* Override three components with explicit pre-existing font shorthand. */
html body .pick,html body .sug button,html body .dm button{font-family:"RN Charmed","Be Vietnam Pro",system-ui,sans-serif}
/* Charmed effects are scoped to the home route, never the film detail view. */
.charmed-fx-layer{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:6;contain:layout paint}
.charmed-fx-layer.charmed-fx-trail{z-index:9}
.charmed-fx-layer.charmed-fx-splash{position:absolute;z-index:5}
.charmed-fx-layer[hidden]{display:none!important}
.charmed-particle{position:absolute;left:0;top:0;display:inline-block;white-space:nowrap;line-height:1;opacity:0;user-select:none;-webkit-user-select:none;pointer-events:none;will-change:transform,opacity;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45))}
.charmed-particle.charmed-word{font-family:"RN Charmed","Be Vietnam Pro",sans-serif;font-weight:700;letter-spacing:.07em;color:#f8e6ff;text-shadow:0 0 7px rgba(215,166,255,.7),0 2px 8px rgba(7,0,20,.9);filter:none}
#charmed-fx-toggle{position:fixed;left:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;justify-content:center;gap:6px;min-width:40px;min-height:40px;padding:7px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(23,17,50,.72);color:#fff;box-shadow:0 5px 20px rgba(0,0,0,.3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);font:600 12px/1.4 "Be Vietnam Pro",sans-serif;transition:background .2s,opacity .2s;touch-action:manipulation}
#charmed-fx-toggle:hover,#charmed-fx-toggle:focus-visible{background:rgba(64,32,101,.9)}
#charmed-fx-toggle .charmed-toggle-label{display:none}
#charmed-fx-toggle:hover .charmed-toggle-label,#charmed-fx-toggle:focus-visible .charmed-toggle-label,#charmed-fx-toggle.open-label .charmed-toggle-label{display:inline}
#charmed-fx-toggle.off .charmed-toggle-icon{filter:grayscale(1);opacity:.55}
#charmed-fx-toggle[hidden]{display:none!important}
@media (prefers-reduced-motion:reduce){.charmed-fx-layer,#charmed-fx-toggle{display:none!important}}

#charmed-fx-toggle .charmed-toggle-icon{display:inline-flex;align-items:center;justify-content:center}
#charmed-fx-toggle .charmed-toggle-icon img{width:23px;height:23px;object-fit:contain;display:block}

/* Lock the Triquetra effects toggle to a true circle on every viewport. */
#charmed-fx-toggle{box-sizing:border-box!important;width:48px!important;height:48px!important;min-width:48px!important;max-width:48px!important;min-height:48px!important;max-height:48px!important;border-radius:50%!important;aspect-ratio:1/1!important;padding:0!important;gap:0!important;flex:0 0 48px!important;overflow:hidden!important;display:grid!important;place-items:center!important}
#charmed-fx-toggle .charmed-toggle-icon{width:29px!important;height:29px!important;display:grid!important;place-items:center!important;flex:none!important}
#charmed-fx-toggle .charmed-toggle-icon img{display:block!important;width:29px!important;height:29px!important;object-fit:contain!important}
#charmed-fx-toggle .charmed-toggle-label{display:none!important}
