/* Stardrop V2.1 sensory polish */
body{--chapter-art:none;--boss-art:none}
body[data-theme="ember-belt"] .cosmos{background:linear-gradient(180deg,rgba(40,8,6,.22),rgba(8,7,16,.84)),url('../../images/themes/ember-belt-board.webp') center/cover no-repeat fixed,#08070d}
body[data-theme="bureaucratic-void"] .cosmos{background:linear-gradient(180deg,rgba(24,18,5,.24),rgba(8,9,14,.86)),url('../../images/themes/bureaucratic-void-board.webp') center/cover no-repeat fixed,#08090e}
body[data-theme="memory-nebula"] .cosmos{background:linear-gradient(180deg,rgba(18,8,38,.22),rgba(7,8,20,.84)),url('../../images/themes/memory-nebula-board.webp') center/cover no-repeat fixed,#070814}
body[data-theme="ember-belt"] .board-panel{border-color:rgba(255,120,106,.45);box-shadow:0 24px 80px rgba(0,0,0,.46),0 0 65px rgba(255,95,60,.18)}
body[data-theme="bureaucratic-void"] .board-panel{border-color:rgba(229,185,82,.38);box-shadow:0 24px 80px rgba(0,0,0,.46),0 0 62px rgba(198,150,48,.15)}
body[data-theme="memory-nebula"] .board-panel{border-color:rgba(214,155,255,.42);box-shadow:0 24px 80px rgba(0,0,0,.46),0 0 65px rgba(165,104,255,.18)}
body[data-theme="ember-belt"] .mission-strip{background:linear-gradient(100deg,rgba(255,90,51,.16),rgba(255,196,81,.07))}
body[data-theme="bureaucratic-void"] .mission-strip{background:linear-gradient(100deg,rgba(207,158,60,.15),rgba(85,102,130,.07))}
body[data-theme="memory-nebula"] .mission-strip{background:linear-gradient(100deg,rgba(214,155,255,.14),rgba(91,224,208,.06))}
body[data-theme="ember-belt"] .mini-track i{background:linear-gradient(90deg,#ff6659,#ffc85e)}
body[data-theme="bureaucratic-void"] .mini-track i{background:linear-gradient(90deg,#d2a33d,#f3da8b)}
body[data-theme="memory-nebula"] .mini-track i{background:linear-gradient(90deg,#d69bff,#5be0d0)}
body[data-theme="ember-belt"] .tile[data-type="1"] .gem{background:linear-gradient(145deg,#ffb15f,#ff5a3c 48%,#b81b18);box-shadow:0 0 17px rgba(255,84,55,.82)}
body[data-theme="ember-belt"] .tile[data-type="2"] .gem{background:linear-gradient(145deg,#fff0a5,#ffbd31 48%,#e55c17);box-shadow:0 0 17px rgba(255,175,38,.82)}
body[data-theme="ember-belt"] .tile[data-type="3"] .gem{background:linear-gradient(145deg,#fff8c9,#ffdf5f 44%,#ff7b24);box-shadow:0 0 18px rgba(255,207,55,.84)}
body[data-theme="ember-belt"] .tile[data-type="4"] .gem{background:radial-gradient(circle at 32% 28%,#fff3d2,#ff7655 28%,#9a1e28 76%);box-shadow:0 0 17px rgba(255,91,73,.76)}
body[data-theme="ember-belt"] .tile[data-type="5"] .gem{background:linear-gradient(145deg,#ffd9b0,#ff8f4c 40%,#a82731);box-shadow:0 0 17px rgba(255,101,72,.76)}
body[data-theme="ember-belt"] .tile[data-type="6"] .gem{background:linear-gradient(145deg,#f7ddff,#b56eff 37%,#4f1fa9);box-shadow:0 0 17px rgba(181,110,255,.72)}
body[data-theme="bureaucratic-void"] .tile[data-type="1"] .gem{background:linear-gradient(145deg,#fff0b5,#d8a936 48%,#7b5a16);box-shadow:0 0 15px rgba(218,172,58,.65)}
body[data-theme="bureaucratic-void"] .tile[data-type="2"] .gem{background:linear-gradient(145deg,#e6edf8,#8799ad 48%,#394a60);box-shadow:0 0 15px rgba(150,171,197,.55)}
body[data-theme="bureaucratic-void"] .tile[data-type="3"] .gem{background:linear-gradient(145deg,#fffad5,#f0cf61 42%,#aa761d);box-shadow:0 0 16px rgba(238,201,76,.68)}
body[data-theme="bureaucratic-void"] .tile[data-type="4"] .gem{background:radial-gradient(circle at 32% 28%,#f1fff5,#70c69d 30%,#2b7052 75%);box-shadow:0 0 15px rgba(111,201,157,.6)}
body[data-theme="bureaucratic-void"] .tile[data-type="5"] .gem{background:linear-gradient(145deg,#effaff,#80bfd8 36%,#2f657b);box-shadow:0 0 16px rgba(113,190,221,.58)}
body[data-theme="bureaucratic-void"] .tile[data-type="6"] .gem{background:linear-gradient(145deg,#f4ebff,#b89bd2 35%,#604b82);box-shadow:0 0 16px rgba(183,154,210,.58)}
body[data-theme="memory-nebula"] .tile[data-type="1"] .gem{background:linear-gradient(145deg,#ffd8ff,#d376ff 45%,#7130bf);box-shadow:0 0 18px rgba(211,118,255,.78)}
body[data-theme="memory-nebula"] .tile[data-type="2"] .gem{background:linear-gradient(145deg,#aefeff,#45ddda 45%,#148c9f);box-shadow:0 0 18px rgba(69,221,218,.75)}
body[data-theme="memory-nebula"] .tile[data-type="3"] .gem{background:linear-gradient(145deg,#fff4d4,#e7c579 42%,#8970ca);box-shadow:0 0 18px rgba(231,197,121,.7)}
body[data-theme="memory-nebula"] .tile[data-type="4"] .gem{background:radial-gradient(circle at 32% 28%,#fff,#81d8ff 26%,#5e57d8 75%);box-shadow:0 0 18px rgba(116,159,255,.74)}
body[data-theme="memory-nebula"] .tile[data-type="5"] .gem{background:linear-gradient(145deg,#fff,#97baff 36%,#5958d7);box-shadow:0 0 18px rgba(120,142,255,.75)}
body[data-theme="memory-nebula"] .tile[data-type="6"] .gem{background:linear-gradient(145deg,#ffe9ff,#d69bff 35%,#7660d4);box-shadow:0 0 18px rgba(214,155,255,.75)}
.tile{transform-origin:center;will-change:transform,filter,opacity}
.tile .gem{border:1px solid rgba(255,255,255,.28);filter:saturate(1.08);transition:transform .16s ease,filter .16s ease}
.tile:hover .gem{transform:translateY(-2px) scale(1.04);filter:brightness(1.12) saturate(1.15)}
.tile .gem:before{pointer-events:none}
.cell{box-shadow:inset 0 1px 0 rgba(255,255,255,.035),inset 0 -5px 12px rgba(0,0,0,.12)}
.board-panel:after{content:'';position:absolute;inset:7px;border-radius:17px;border:1px solid rgba(255,255,255,.06);pointer-events:none;z-index:2}
.board{z-index:3}
.board-panel.level-awake{animation:levelAwake .9s ease}
.board-panel.special-pulse{animation:specialPulse .75s ease}
.board-panel.combo-pulse{animation:comboPulse .85s ease}
.board-panel.boss-pulse{animation:bossPulse .8s ease}
.board-panel.victory-pulse{animation:victoryPulse 1.2s ease}
.low-moves .moves b{animation:moveWarning .85s ease infinite;color:#ff6f86!important}
.low-moves .board-panel:after{border-color:rgba(255,86,112,.2)}
.boss-avatar.has-art{background-size:cover;background-position:center 20%;border-radius:22px;box-shadow:0 0 34px rgba(255,99,125,.27);position:relative;overflow:hidden}
.boss-avatar.has-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(6,8,18,.55))}
.modal-icon.has-boss-art{background-size:cover;background-position:center 20%;color:transparent;border-color:rgba(255,130,100,.35);box-shadow:0 0 35px rgba(255,97,107,.22)}
.fx-layer{position:fixed;inset:0;z-index:450;pointer-events:none;overflow:hidden}
.star-particle{position:absolute;width:7px;height:7px;border-radius:2px;background:var(--particle,#fff);box-shadow:0 0 9px var(--particle,#fff);transform:translate(-50%,-50%);animation:particleFly .68s cubic-bezier(.15,.75,.25,1) forwards}
.star-particle:nth-child(3n){clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%)}
.polish-callout{position:fixed;left:50%;top:37%;z-index:500;transform:translate(-50%,-50%) scale(.65);opacity:0;padding:8px 16px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(6,9,20,.72);backdrop-filter:blur(10px);color:#fff;font-size:clamp(17px,4vw,34px);font-weight:950;letter-spacing:.06em;text-shadow:0 0 22px rgba(255,255,255,.45);pointer-events:none;transition:.2s}
.polish-callout.show{animation:callout 1.05s ease forwards}
@keyframes particleFly{0%{opacity:0;transform:translate(-50%,-50%) scale(.2)}22%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(160deg) scale(.15)}}
@keyframes levelAwake{0%{filter:brightness(.6);transform:scale(.985)}55%{filter:brightness(1.23)}100%{filter:none;transform:none}}
@keyframes specialPulse{0%,100%{transform:none;filter:none}35%{transform:scale(1.012);filter:brightness(1.25) saturate(1.2)}}
@keyframes comboPulse{0%,100%{transform:none}35%{transform:scale(1.018)}55%{box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 85px rgba(255,212,107,.35)}}
@keyframes bossPulse{0%,100%{transform:none;filter:none}25%{transform:translateX(-5px);filter:hue-rotate(-18deg) brightness(1.2)}50%{transform:translateX(5px)}75%{transform:translateX(-2px)}}
@keyframes victoryPulse{0%{filter:brightness(1)}35%{filter:brightness(1.5) saturate(1.35);transform:scale(1.018)}100%{filter:none;transform:none}}
@keyframes moveWarning{50%{transform:scale(1.16);text-shadow:0 0 14px rgba(255,75,105,.8)}}
@keyframes callout{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}22%{opacity:1;transform:translate(-50%,-50%) scale(1.08)}70%{opacity:1;transform:translate(-50%,-55%) scale(1)}100%{opacity:0;transform:translate(-50%,-75%) scale(.9)}}
@media(prefers-reduced-motion:reduce){.star-particle,.polish-callout,.board-panel,.low-moves .moves b{animation-duration:.01ms!important;animation-iteration-count:1!important}.tile,.tile .gem{transition:none!important}}
.star-rush .board-panel{animation:starRush .55s ease infinite alternate}
@keyframes starRush{from{filter:brightness(1.05) saturate(1.05)}to{filter:brightness(1.25) saturate(1.28);box-shadow:0 24px 80px rgba(0,0,0,.42),0 0 90px rgba(255,212,107,.32)}}
.board-panel.portal-pulse{animation:portalPulse .65s ease}.board-panel.gravity-pulse{animation:gravityPulse .75s ease}.board-panel.glitch-pulse{animation:glitchPulse .45s steps(2)}
@keyframes portalPulse{45%{box-shadow:0 0 80px rgba(93,228,255,.65),inset 0 0 35px rgba(141,125,255,.22)}}
@keyframes gravityPulse{40%{transform:translateY(3px);filter:brightness(1.16)}70%{transform:translateY(-2px)}}
@keyframes glitchPulse{25%{filter:hue-rotate(80deg) contrast(1.25);transform:translateX(2px)}75%{filter:hue-rotate(-60deg);transform:translateX(-2px)}}
