.aniplay-switch { position: relative; display: grid; grid-template-columns: 1fr 1fr; justify-self: end; width: 166px; padding: 3px; margin-bottom: -.7rem; border-radius: 30px; border: 1px solid #ffffff12; background: #ffffff05; isolation: isolate; }
.aniplay-switch::before { content: ''; position: absolute; top: 3px; bottom: 3px; left: 3px; width: calc(50% - 3px); border-radius: 24px; background: #ffffff12; box-shadow: 0 1px 4px #0002,inset 0 1px 0 #ffffff0b; transition: transform .24s cubic-bezier(.22,.7,.3,1); z-index: -1; }
.aniplay-switch:has([data-player-choice="kodik"][aria-pressed="true"])::before { transform: translateX(100%); }
.aniplay-switch button { padding: .5rem .75rem; border: 0; background: transparent; border-radius: 24px; color: #80818a; font: inherit; font-size: .78rem; cursor: pointer; transition: color .2s; }
.aniplay-switch button:hover { color: #c4c4ce; }
.aniplay-switch button[aria-pressed="true"] { color: #f0f0f5; }
.aniplay-switch button:focus-visible { outline: 2px solid #d8d5eb; outline-offset: 2px; }
@media(prefers-reduced-motion:reduce) { .aniplay-switch::before, .aniplay-switch button { transition: none; } }
.aniplay { position: absolute; inset: 0; background: #050506; color: #f4f4f7; font-family: inherit; }
.aniplay[hidden], .aniplay [hidden] { display: none !important; }
.aniplay video { width: 100%; height: 100%; object-fit: contain; }
.aniplay button { border: 0; font: inherit; color: inherit; cursor: pointer; }
.aniplay-controls { position: absolute; inset: auto .7rem .7rem; padding: .8rem .85rem .45rem; background: linear-gradient(145deg,#ffffff12,#17192080); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); border: 1px solid #ffffff1c; border-radius: 13px; box-shadow: 0 6px 28px #0003; transition: opacity .2s; }
.aniplay.is-quiet .aniplay-controls { opacity: 0; pointer-events: none; }
.aniplay-seek { width: 100%; height: 4px; display: block; margin: 0 0 .6rem; appearance: none; border-radius: 10px; background: linear-gradient(90deg,#d3cfed var(--progress,0%),#ffffff30 var(--progress,0%)); cursor: pointer; }
.aniplay-seek::-webkit-slider-thumb { appearance: none; width: 12px; height: 12px; background: #fff; border-radius: 50%; box-shadow: 0 0 0 3px #ffffff10; }
.aniplay-seek::-moz-range-thumb { width: 12px; height: 12px; background: #fff; border: 0; border-radius: 50%; }
.aniplay-bar { display: flex; align-items: center; gap: .4rem; min-width: 0; }
.aniplay-bar button { min-width: 2rem; height: 2rem; display: grid; place-items: center; padding: .25rem; background: transparent; border-radius: 6px; font-size: .78rem; }
.aniplay-bar button:hover { background: #ffffff10; }
.aniplay svg { width: 1.15rem; height: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.65; stroke-linecap: round; stroke-linejoin: round; }
.aniplay [data-ani-play] svg { fill: currentColor; stroke: none; }
.aniplay-time { font-size: .77rem; font-variant-numeric: tabular-nums; white-space: nowrap; margin-right: auto; }
.aniplay-time span { color: #aaaab3; }
.aniplay select { font: inherit; color: #e9e9ef; border: 0; background: transparent; font-size: .76rem; cursor: pointer; }
.aniplay select option { background: #202126; color: #eee; }
.aniplay-translation { max-width: 9rem; }
.aniplay-start { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: grid; place-items: center; width: 4rem; height: 4rem; border-radius: 50%; background: #ffffff16; backdrop-filter: blur(14px); box-shadow: 0 0 0 1px #ffffff30; }
.aniplay-start svg { fill: #fff; stroke: none; width: 1.7rem; height: 1.7rem; }
.aniplay.is-playing .aniplay-start { display: none; }
.aniplay-message { position: absolute; left: 50%; top: 36%; transform: translate(-50%,-50%); max-width: 90%; padding: .8rem 1rem; border-radius: 10px; background: #11131cdd; color: #cacad3; text-align: center; font-size: .85rem; }
.aniplay-skip { position: absolute; right: 1.2rem; bottom: 6.5rem; padding: .65rem 1rem; border-radius: 9px; background: #23242c88; border: 1px solid #ffffff2a !important; backdrop-filter: blur(16px); font-size: .8rem !important; }
.aniplay-settings { position: relative; }
.aniplay-menu { position: absolute; right: -2rem; bottom: 3rem; width: 250px; padding: .75rem; border: 1px solid #ffffff20; border-radius: 12px; background: #202128e6; backdrop-filter: blur(20px); box-shadow: 0 12px 35px #0006; }
.aniplay-menu label { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .6rem .15rem; font-size: .76rem; }
.aniplay-menu small { display: block; color: #8f919b; font-size: .65rem; padding: .35rem .15rem; }
.aniplay-menu input { accent-color: #d1cfeb; }
.aniplay.is-native ~ #v2-player-frame { display: none; }
.v2-watch-frame:has(.aniplay:not([hidden])) > .v2-player-settings,
.v2-watch-frame:has(.aniplay:not([hidden])) > #v2-next-episode { display: none !important; }
.aniplay:fullscreen { position: fixed; width: 100%; height: 100%; }
.aniplay button:focus-visible, .aniplay select:focus-visible { outline: 2px solid #d8d5eb; outline-offset: 3px; }
@media(max-width: 560px) {
  .aniplay-controls { inset: auto .3rem .3rem; padding: .65rem .5rem .25rem; border-radius: 9px; }
  .aniplay-bar { gap: .1rem; }
  .aniplay-bar button { min-width: 1.6rem; height: 1.8rem; }
  .aniplay-time { font-size: .65rem; }
  .aniplay-translation { max-width: 5rem; font-size: .65rem !important; }
  .aniplay-menu { width: 230px; }
  .aniplay-skip { bottom: 5.3rem; right: .6rem; }
}
@media(prefers-reduced-motion: reduce) { .aniplay-controls { transition: none; } }

/* Solid contrast, with a small amount of glass left in the controls. */
.aniplay video { display: block; object-fit: cover; }
.aniplay-controls { background: linear-gradient(145deg,rgba(24,25,30,.95),rgba(16,17,21,.94)); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); box-shadow: 0 8px 24px #0005; z-index: 5; }
.aniplay-menu { background: #1b1c21; backdrop-filter: none; -webkit-backdrop-filter: none; width: 264px; }
.aniplay-loading { position: absolute; inset: 0; z-index: 3; background: #030304; display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1.1rem; font-size: .78rem; color: #a9aab3; letter-spacing: .02em; }
.aniplay-loader { width: 38px; height: 38px; border-radius: 50%; border: 2px solid #ffffff12; border-top-color: #e0deee; border-right-color: #8c899f; animation: aniplay-spin .85s linear infinite; box-shadow: 0 0 24px #ddd9ff08; }
.aniplay-loading-dots { animation: aniplay-pulse 1.2s ease-in-out infinite; }
.aniplay.is-loading .aniplay-start { display: none; }
.aniplay-message { z-index: 4; top: 50%; }
.aniplay-start, .aniplay-skip { z-index: 4; }
.aniplay-volume, .aniplay-voices, .aniplay-quality-picker { position: relative; }
 .aniplay-volume { display: flex; align-items: center; flex: 0 0 auto; }
.aniplay-volume-panel { position: static; display: flex; align-items: center; width: 0; height: 2rem; padding: 0; overflow: hidden; opacity: 0; visibility: hidden; flex: 0 0 auto; background: transparent; border: 0; box-shadow: none; transform: none; transition: width .22s ease,opacity .16s ease,visibility .16s; }
.aniplay-volume:hover .aniplay-volume-panel, .aniplay-volume.is-open .aniplay-volume-panel, .aniplay-volume-panel:focus-within { width: 100px; opacity: 1; visibility: visible; transform: none; }
.aniplay-volume-slider { width: 84px; flex: 0 0 84px; margin: 0 8px; height: 4px; appearance: none; border-radius: 5px; background: linear-gradient(90deg,#d4d0e9 var(--volume,100%),#ffffff25 var(--volume,100%)); cursor: pointer; }
.aniplay-volume-slider::-webkit-slider-thumb { appearance: none; width: 11px; height: 11px; border-radius: 50%; background: #fff; }
.aniplay-volume-slider::-moz-range-thumb { width: 11px; height: 11px; border: 0; border-radius: 50%; background: #fff; }
.aniplay-volume-value { display: none; }
.aniplay-bar .aniplay-voice-toggle, .aniplay-bar .aniplay-quality-toggle { display: flex; align-items: center; gap: .45rem; padding: .2rem .5rem; white-space: nowrap; }
.aniplay-voice-title { max-width: 10rem; overflow: hidden; text-overflow: ellipsis; font-size: .76rem; }
.aniplay-voice-toggle svg, .aniplay-quality-toggle svg { width: .8rem; height: .8rem; }
.aniplay-voice-list { position: absolute; bottom: 2.9rem; right: 0; width: 234px; max-height: min(250px,40vh); overflow: auto; padding: .35rem; background: #1b1c21; border: 1px solid #ffffff20; border-radius: 10px; box-shadow: 0 10px 28px #0006; scrollbar-width: thin; }
.aniplay-voice-list button, .aniplay-quality-list button { display: block; width: 100%; height: auto; padding: .65rem .7rem; text-align: left; font-size: .76rem; color: #b4b5bf; background: transparent; border-radius: 6px; }
.aniplay-voice-list button[aria-selected=true], .aniplay-quality-list button[aria-selected=true] { color: #f2f1fa; background: #ffffff10; }
.aniplay-voice-list button:hover, .aniplay-quality-list button:hover { color: #fff; background: #ffffff0a; }
.aniplay-quality-row { display: flex; align-items: center; justify-content: space-between; padding: .4rem .15rem; font-size: .76rem; }
.aniplay-quality-toggle { font-size: .76rem !important; gap: .8rem; }
.aniplay-quality-list { position: absolute; right: -.2rem; top: 0; z-index: 8; width: 120px; padding: .3rem; border-radius: 9px; background: #25262c; border: 1px solid #ffffff1c; box-shadow: 0 8px 20px #0006; }
.aniplay-voice-list:focus-visible, .aniplay-volume-slider:focus-visible { outline: 2px solid #d8d5eb; }
@keyframes aniplay-spin { to { transform: rotate(360deg); } }
@keyframes aniplay-pulse { 50% { opacity: .35; } }
@media(max-width:560px) {
 .aniplay-voice-title { max-width: 5rem; font-size: .65rem; }
 .aniplay-bar .aniplay-voice-toggle { gap: .2rem; padding-inline: .15rem; }
 .aniplay-voice-list { max-height: 125px; width: 210px; }
 .aniplay-menu { width: 245px; padding: .5rem .65rem; bottom: 2.5rem; }
 .aniplay-menu label { padding: .5rem .15rem; font-size: .7rem; }
 .aniplay-quality-row { font-size: .7rem; padding-block: .25rem; }
 .aniplay-quality-list button { padding: .45rem .65rem; }
 .aniplay-loading { gap: .75rem; font-size: .7rem; }
 .aniplay-loader { width: 30px; height: 30px; }
}
@media(prefers-reduced-motion:reduce) { .aniplay-loader, .aniplay-loading-dots { animation: none; } .aniplay-volume-panel { transition: none; } }

@media(max-width:560px) {
 .aniplay-volume:hover .aniplay-volume-panel, .aniplay-volume.is-open .aniplay-volume-panel, .aniplay-volume-panel:focus-within { width: 68px; }
 .aniplay-volume-slider { width: 54px; flex-basis: 54px; margin-inline: 7px; }
 .aniplay-bar:has(.aniplay-volume:hover) .aniplay-voice-title, .aniplay-bar:has(.aniplay-volume.is-open) .aniplay-voice-title { max-width: 2.5rem; }
}
.aniplay-settings-toggle svg { width: 1.2rem; height: 1.2rem; stroke-width: 1.65; }

.aniplay-fallback { position: absolute; z-index: 6; top: calc(50% + 3rem); left: 50%; transform: translateX(-50%); background: #eeeeF4; color: #17171d !important; border-radius: 9px; padding: .75rem 1.2rem; font-size: .8rem !important; box-shadow: 0 4px 20px #0005; }
.aniplay-fallback:hover { background: #fff; }

.aniplay-skip-prompt { position: absolute; right: 1.2rem; bottom: 6.2rem; z-index: 6; padding: .6rem; border: 1px solid #ffffff1c; border-radius: 11px; background: #191a20f5; box-shadow: 0 8px 25px #0004; }
.aniplay-skip-prompt .aniplay-skip { position: static; display: block; width: 100%; background: #ffffff0c; padding: .55rem .8rem; border-radius: 7px; border: 0 !important; backdrop-filter: none; }
.aniplay-skip-prompt label, .aniplay-next-card label { display: flex; align-items: center; gap: .45rem; padding: .7rem .3rem .15rem; font-size: .7rem; color: #a9aab5; cursor: pointer; }
.aniplay-skip-prompt input, .aniplay-next-card input { accent-color: #d1cfeb; }
.aniplay-end-screen { position: absolute; inset: 0; display: grid; place-items: center; z-index: 4; background: #030304b8; }
.aniplay-next-card { width: min(320px,80%); background: #1b1c22; padding: .8rem; border: 1px solid #ffffff1c; border-radius: 14px; box-shadow: 0 10px 40px #0005; }
.aniplay-next-button { display: flex; align-items: center; gap: .85rem; width: 100%; text-align: left; background: transparent; padding: 0; }
.aniplay-next-preview { position: relative; display: grid; place-items: center; width: 92px; height: 56px; flex: 0 0 92px; overflow: hidden; border-radius: 8px; background: #30313b; }
.aniplay-next-preview img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .65; }
.aniplay-next-preview svg { z-index: 1; fill: white; stroke: none; filter: drop-shadow(0 1px 3px #0008); }
.aniplay-next-button strong { display: block; font-size: .84rem; font-weight: 600; }
.aniplay-next-button small { display: block; margin-top: .4rem; color: #9c9daa; font-size: .72rem; }
.aniplay-next-button:hover strong { color: #dcd9ef; }
.aniplay.is-ended .aniplay-start { display: none; }
@media(max-width:560px) { .aniplay-skip-prompt { right: .6rem; bottom: 4.7rem; padding: .4rem; } .aniplay-next-card { padding: .65rem; width: 280px; max-width: 85%; } .aniplay-next-preview { width: 74px; height: 45px; flex-basis: 74px; } .aniplay-next-button strong { font-size: .76rem; } }
