:root{--indigo-950:#0d0b26;--indigo-900:#15123b;--indigo-800:#1d1952;--indigo-700:#2d2680;--gold:#f4b942;--saffron:#e8891d;--ivory:#fff7e6;--ivory-dim:#cfc8e8;--ok:#7fe0ae;--warn-bg:#4a3410;--danger:#ff8a80;--card:#ffffff12;--card-border:#f4b94238;--radius:18px;--tradition-primary:var(--indigo-900);--tradition-secondary:var(--gold);--tradition-accent:var(--saffron);--font:system-ui, -apple-system, "Segoe UI", Roboto, "Noto Sans", "Noto Sans Devanagari", "Kohinoor Devanagari", "Devanagari Sangam MN", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{min-height:100dvh;font-family:var(--font);color:var(--ivory);background:radial-gradient(120% 80% at 50% -10%, var(--indigo-700) 0%, var(--indigo-900) 55%, var(--indigo-950) 100%) fixed;margin:0;font-size:16px;line-height:1.5;overflow-x:hidden}h1,h2,h3{margin:0 0 8px;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.2rem}p{margin:0 0 10px}a{color:inherit}img{max-width:100%;height:auto}.muted{color:var(--ivory-dim)}.small{font-size:.85rem}.center{text-align:center}.big{color:var(--gold);font-size:1.7rem;font-weight:700}.lead{color:var(--ivory-dim);margin-bottom:16px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}.shell{flex-direction:column;max-width:520px;min-height:100dvh;margin:0 auto;display:flex;position:relative}@media (width>=560px){.shell{border-left:1px solid var(--card-border);border-right:1px solid var(--card-border);background:#0d0b2659}}.shell__content{flex:1;padding-bottom:76px}.shell--focus .shell__content{padding-bottom:0}.page{padding:16px 16px 24px;padding-top:max(16px, env(safe-area-inset-top))}.page>*+*{margin-top:14px}.page-header{align-items:center;gap:8px;display:flex}.page-header h1{flex:1;margin:0;font-size:1.35rem}.page-header__right{min-width:44px}.icon-btn{background:var(--card);min-width:44px;min-height:44px;color:var(--ivory);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;text-decoration:none;display:inline-flex}.icon-btn--spacer{visibility:hidden}.tabbar{background:var(--indigo-950);border-top:1px solid var(--card-border);width:100%;max-width:520px;padding-bottom:env(safe-area-inset-bottom);z-index:20;grid-template-columns:repeat(6,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{min-height:56px;color:var(--ivory-dim);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 0;font-size:.66rem;text-decoration:none;display:flex}.tab span:first-child{font-size:1.15rem}.tab--active{color:var(--gold);font-weight:700}.offline-badge{z-index:30;text-align:center;background:var(--warn-bg);color:var(--gold);padding:4px;font-size:.8rem;position:sticky;top:0}.btn{min-height:48px;font:inherit;cursor:pointer;text-align:center;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:700;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.6;cursor:default}.btn--primary{background:linear-gradient(180deg, var(--gold), var(--saffron));color:var(--indigo-950)}.btn--secondary{background:var(--card);color:var(--ivory);border-color:var(--card-border)}.btn--danger{color:var(--danger);border-color:var(--danger);background:0 0}.btn--lg{width:100%;min-height:56px;font-size:1.1rem}.btn--sm{min-height:44px;padding:6px 14px}.btn-row{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.btn-row .btn{flex:auto}.actions{gap:10px;display:grid}.link{color:var(--gold);align-items:center;min-height:44px;display:inline-flex}.sticky-cta{background:linear-gradient(transparent, var(--indigo-900) 40%);padding:12px 0 8px;position:sticky;bottom:0}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);padding:16px}.card--center{text-align:center}.card--link{text-decoration:none;display:block}.card--hero{background:linear-gradient(160deg,#f4b94229,#ffffff0d)}.card__row{justify-content:space-between;align-items:center;gap:8px;display:flex}.stack{gap:12px;margin:0;padding:0;list-style:none;display:grid}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.pill{color:var(--ivory);background:#ffffff1a;border-radius:999px;padding:4px 12px;font-size:.82rem;display:inline-block}.pill--ok{color:var(--ok);background:#7fe0ae2e}.section-title{margin-top:20px}.banner{border:1px solid var(--card-border);background:#f4b94224;border-radius:14px;padding:12px 14px}.banner--warn{background:var(--warn-bg);color:var(--gold);font-weight:600}.progress{background:#ffffff1f;border-radius:999px;height:10px;overflow:hidden}.progress__fill{background:linear-gradient(90deg, var(--saffron), var(--gold));border-radius:999px;height:100%;transition:width .35s}.stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stats--two{grid-template-columns:repeat(2,1fr)}.stat{background:var(--card);border:1px solid var(--card-border);text-align:center;border-radius:14px;padding:10px 8px}.stat__value{color:var(--gold);overflow-wrap:anywhere;font-size:1.05rem;font-weight:700}.stat__label{color:var(--ivory-dim);font-size:.72rem}.greeting{color:var(--ivory-dim);margin:0}.hero__level{margin:0;font-size:2rem}.hero__group{color:var(--gold);margin-bottom:10px;font-weight:600}.hero__today{justify-content:space-between;margin-top:12px;display:flex}.welcome{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:100dvh;padding:24px;display:flex}.welcome__om{color:var(--gold);text-shadow:0 0 32px #f4b9428c;font-size:6rem;line-height:1.1;animation:5s ease-in-out infinite breathe}.welcome__title{letter-spacing:.35em;margin:0;font-size:2rem}.welcome__tagline{color:var(--ivory-dim);max-width:22ch;margin-bottom:28px}.welcome .btn{max-width:320px}.path-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.path-card{border-radius:var(--radius);border:2px solid var(--card-border);background:var(--card);width:100%;min-height:64px;color:var(--ivory);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:14px;padding:12px 16px;display:flex}.path-card:disabled{opacity:.55;cursor:not-allowed}.path-card--selected{border-color:var(--gold);background:#f4b94229}.path-card__icon{text-align:center;width:40px;font-size:1.8rem}.path-card__text{display:grid}.path-card__name{font-size:1.1rem;font-weight:700}.path-card__desc{color:var(--ivory-dim);font-size:.85rem}.group{margin-top:18px}.group__head{z-index:5;border-left:5px solid var(--group);background:var(--indigo-900);border-radius:10px;flex-direction:column;margin:0 0 8px;padding:8px 12px;display:flex;position:sticky;top:0}.group__head h2{color:var(--ivory);margin:0}.group__head span{color:var(--ivory-dim);font-size:.8rem}.nodes{margin:0;padding:0 0 0 4px;list-style:none}.node{padding-left:0;position:relative}.node:before{content:"";background:color-mix(in srgb, var(--group) 45%, transparent);width:3px;position:absolute;top:0;bottom:0;left:25px}.node:first-child:before{top:50%}.node:last-child:before{bottom:50%}.node__body{min-height:56px;color:inherit;border-radius:14px;align-items:center;gap:12px;padding:6px 8px 6px 4px;text-decoration:none;display:flex;position:relative}.node__dot{background:var(--indigo-800);border:3px solid var(--group);z-index:1;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;font-weight:800;display:grid}.node__dot--completed{background:var(--group);color:var(--indigo-950)}.node__dot--current{background:var(--indigo-950);box-shadow:0 0 0 4px color-mix(in srgb, var(--group) 40%, transparent);color:var(--gold)}.node__text{flex:1;min-width:0;display:grid}.node__title{font-weight:700}.node__sub{color:var(--ivory-dim);font-size:.8rem}.node__amount{color:var(--gold);font-size:.85rem}.node--locked .node__body{opacity:.8}.node--locked .node__title{color:#b3acd6}.node--current .node__body{background:#f4b9421a}.practice__text{color:var(--gold);margin-top:6px;font-size:1.5rem;line-height:1.5}.practice__translit{color:var(--ivory-dim);margin-bottom:8px}.practice__meaning{margin:6px 0 10px}.practice__meaning summary{cursor:pointer;min-height:44px;color:var(--gold);align-items:center;display:flex}.practice__row{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.page--game{padding-top:max(12px, env(safe-area-inset-top))}.game{gap:10px;display:grid}.game__top{align-items:center;gap:10px;display:flex}.game__title{flex:1;min-width:0}.game__practice{font-weight:700}.game__counts{color:var(--ivory-dim);justify-content:space-between;font-size:.9rem;display:flex}.game__visual{place-items:center;padding:4px 0;display:grid}.game__note{text-align:center;color:var(--ivory-dim);margin:0;font-size:.85rem}.feedback{text-align:center;border-radius:12px;min-height:2.6em;padding:6px 10px;font-weight:600}.feedback--correct{color:var(--ok)}.feedback--incorrect{color:var(--gold);background:#f4b9421f}.feedback--info{color:var(--gold)}.sequence{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;min-height:44px;display:flex}.chip{border-radius:999px;padding:4px 12px;font-size:1.1rem}.chip--done{color:var(--gold);background:#f4b94233;animation:.45s pop}.chip--next{border:2px dashed var(--ivory-dim);color:var(--ivory-dim);text-align:center;min-width:44px}.tokens{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.token{border-radius:var(--radius);border:2px solid var(--card-border);background:var(--indigo-800);min-height:76px;color:var(--ivory);font:inherit;cursor:pointer;touch-action:manipulation;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:8px;display:flex}.token:active{transform:scale(.97)}.token__text{font-size:1.7rem;line-height:1.3}.token__translit{color:var(--ivory-dim);font-size:.8rem}.token--shake{animation:.4s shake}.token--glow{animation:.6s glow}.visual{place-items:center;display:grid;position:relative}.visual svg{width:100%;height:100%;overflow:visible}.visual__petals{transform-origin:100px 100px;animation:60s linear infinite spin}.visual__halo{transform-origin:100px 100px;animation:5s ease-in-out infinite breathe}.visual__badge{font-size:1.6rem;position:absolute;top:2px;right:2px}.visual[data-visual-state=CORRECT] .visual__halo{animation:.7s pulse}.visual[data-visual-state=CORRECT] .visual__ring{filter:drop-shadow(0 0 10px var(--glow))}.visual[data-visual-state=INCORRECT] .visual__halo{animation:1.6s bless}.visual[data-visual-state=INCORRECT] .visual__petals{animation:20s linear infinite spin}.visual[data-visual-state=COMPLETION] .visual__halo,.visual[data-visual-state=MILESTONE] .visual__halo,.visual[data-visual-state=LEVEL_COMPLETE] .visual__halo{animation:1.8s bless}.page--complete{text-align:center}.complete__title{color:var(--gold);letter-spacing:.06em;font-size:1.7rem}.burst{font-size:2.6rem;animation:.8s pop}.darshan__img{border:2px solid var(--card-border);border-radius:20px;margin:8px auto;display:block}.darshan__name{color:var(--gold);margin:0;font-size:1.3rem;font-weight:700}.reveal{animation:1.6s both reveal}.flicker{animation:1.4s ease-in-out infinite flicker}.grid-tiles{grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}.tile{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);display:grid;overflow:hidden}.tile__img{aspect-ratio:1;object-fit:cover;width:100%;display:block}.tile__img--placeholder{background:var(--indigo-800);place-items:center;font-size:2rem;display:grid}.tile__meta{padding:8px 10px 12px;display:grid}.tile--locked{opacity:.7}.kv{margin:0}.kv__row{border-bottom:1px solid var(--card-border);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.kv__row:last-child{border-bottom:0}.kv dt{color:var(--ivory-dim)}.kv dd{color:var(--gold);margin:0;font-weight:700}.list{padding:4px 16px}.row{border-bottom:1px solid var(--card-border);justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:52px;display:flex}.row:last-child{border-bottom:0}.row--button{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0}.row__right{align-items:center;gap:10px;display:inline-flex}.row input[type=checkbox]{width:44px;height:26px;accent-color:var(--saffron)}.pad{padding:0 0 12px}select,input:not([type=checkbox]):not([type=radio]){border:1px solid var(--card-border);background:var(--indigo-800);min-height:44px;color:var(--ivory);font:inherit;border-radius:12px;max-width:100%;padding:8px 12px}.form{gap:14px;display:grid}.form label{gap:6px;font-weight:600;display:grid}.form input,.form select{width:100%}.radio-card{border:1px solid var(--card-border);cursor:pointer;border-radius:14px;align-items:center;gap:12px;min-height:52px;padding:8px 12px;display:flex}.radio-card input{width:22px;height:22px;accent-color:var(--saffron)}.radio-card--on{border-color:var(--gold);background:#f4b9421f}.contrib{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.contrib__amount{color:var(--gold);font-size:1.4rem;font-weight:700}.total{text-align:right;font-size:1.1rem}.invite-code{letter-spacing:.12em;color:var(--gold);overflow-wrap:anywhere;margin:8px 0 4px;font-size:1.6rem;font-weight:800}.invite-url{overflow-wrap:anywhere}.milestones{flex-wrap:wrap;gap:6px;margin:12px 0 0;padding:0;list-style:none;display:flex}.milestone{border:1px solid var(--card-border);color:var(--ivory-dim);border-radius:999px;padding:4px 10px;font-size:.8rem}.milestone--on{color:var(--ok);border-color:var(--ok);background:#7fe0ae2e}.state{text-align:center;place-content:center;justify-items:center;gap:10px;min-height:50dvh;padding:24px;display:grid}.state__icon{font-size:3rem}.spin{animation:3s linear infinite spin}.modal-backdrop{z-index:100;background:#050414b3;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--indigo-800);border:1px solid var(--card-border);border-radius:var(--radius);width:100%;max-width:420px;max-height:calc(100dvh - 32px);padding:20px;overflow:auto}.modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:16px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}@keyframes pulse{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes bless{0%{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.18)}to{opacity:.9;transform:scale(1)}}@keyframes pop{0%{opacity:0;transform:scale(.6)}70%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}@keyframes glow{0%{box-shadow:0 0 #f4b942cc}to{box-shadow:0 0 0 16px #f4b94200}}@keyframes reveal{0%{opacity:0;filter:blur(18px)brightness(1.6);transform:scale(.94)}to{opacity:1;filter:none;transform:scale(1)}}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.08)}}:root[data-anim=reduced] *,:root[data-anim=reduced] :before{animation-duration:.01ms!important;animation-iteration-count:1!important}:root[data-anim=reduced] .token--shake{animation:none!important}:root[data-anim=off] *,:root[data-anim=off] :before{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){*,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=360px){h1{font-size:1.35rem}.tab{font-size:.6rem}.token__text{font-size:1.45rem}.stat__value{font-size:.95rem}.welcome__om{font-size:4.5rem}}.auth{flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:100dvh;padding:24px 16px;display:flex}.auth__om{color:var(--gold);text-shadow:0 0 28px #f4b94280;font-size:4rem;line-height:1.1}.auth__brand{letter-spacing:.35em;margin:0 0 12px;font-weight:700}.auth__card{width:100%;max-width:380px}.auth__title{margin:0 0 12px;font-size:1.3rem}.auth__form{flex-direction:column;gap:12px;display:flex}.auth__error{color:var(--danger);margin:0}.auth__links{flex-wrap:wrap;justify-content:space-between;gap:8px;margin:14px 0 0;font-size:.95rem;display:flex}.field{flex-direction:column;gap:4px;display:flex}.field__label{color:var(--ivory-dim);font-size:.9rem}.field__input{border:1px solid var(--card-border);background:var(--indigo-800);min-height:48px;color:var(--ivory);font:inherit;border-radius:12px;padding:8px 14px}.field__input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.badge{color:var(--gold);background:#f4b94233;border-radius:999px;padding:2px 12px;font-size:.85rem;font-weight:700;display:inline-block}.music-control{top:max(10px, env(safe-area-inset-top));z-index:20;flex-direction:column;align-items:flex-end;gap:2px;display:flex;position:fixed;right:10px}.version-tag{top:max(2px, env(safe-area-inset-top));z-index:19;color:var(--ivory);background:var(--indigo-950);border:1px solid var(--card-border);pointer-events:none;border-radius:999px;padding:0 8px;font-size:.62rem;line-height:1.2;position:fixed;left:50%;transform:translate(-50%)}.music-control__row{gap:6px;display:flex}.music-control__name{color:var(--ivory);background:var(--indigo-950);border:1px solid var(--card-border);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border-radius:999px;max-width:110px;padding:1px 8px;font-size:.62rem;line-height:1.3;overflow:hidden}.music-control__btn{border:1px solid var(--card-border);width:44px;height:44px;color:var(--gold);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#15123bd9;border-radius:50%;font-size:1.1rem}.music-control__btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.row input[type=range]{width:45%;min-height:44px;accent-color:var(--gold)}.auth__alt{flex-direction:column;align-items:center;gap:10px;margin-top:14px;display:flex}.auth__or{color:var(--ivory-dim);margin:0;font-size:.9rem}.auth__google{justify-content:center;min-height:44px;display:flex}.row-gap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.stotra-card{align-items:center;gap:8px;display:flex}.stotra-card__main{color:inherit;flex-direction:column;flex:1;gap:2px;min-width:0;text-decoration:none;display:flex}.stotra-card__title{margin:0;font-size:1.2rem;font-weight:700}.badge--muted{color:var(--ivory-dim);background:#ffffff14;align-self:flex-start}.target-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:10px 0;display:grid}.target{border-radius:var(--radius);border:1px solid var(--card-border);background:var(--card);min-height:44px;color:var(--ivory);font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:2px;padding:12px;display:flex}.target--on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.page--player{padding-top:18px;padding-bottom:130px}.page--player>*+*{margin-top:8px}.line-card{text-align:center;border-color:var(--gold);flex-direction:column;justify-content:center;min-height:160px;display:flex}.line-card__text{margin:0;font-size:clamp(1.4rem,5.5vw,2rem);line-height:1.7}.points{color:var(--gold);font-size:1.6rem;font-weight:700}.tab{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meaning-list{gap:12px;margin-top:10px;padding-left:1.2rem;display:grid}.meaning-list p{margin:0}.line-visual{justify-content:center;animation:.5s both pop;display:flex}.line-in{animation:.45s both line-in}@keyframes line-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.update-banner{z-index:30;background:var(--indigo-800);border:1px solid var(--gold);max-width:calc(100% - 24px);color:var(--ivory);border-radius:999px;align-items:center;gap:10px;padding:6px 8px 6px 14px;font-size:.85rem;display:flex;position:fixed;top:22px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.auth__refresh{margin:8px 0 0}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--card-border);padding:6px 8px}.table th{color:var(--ivory-dim);font-weight:600}.badge-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.badge-card{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.badge-card__icon{font-size:1.8rem}.card--alert{border-color:var(--danger)}.auth__notice{text-align:center;max-width:380px;margin:10px 0 0}body{overflow-wrap:anywhere}.btn,.target,.badge,.tab--wrap{white-space:normal}.card,.list>li,.table td,.table th,.kv__row dd,.node__text,.stotra-card__main,.badge-card{min-width:0}.kv__row dd{overflow-wrap:anywhere;text-align:right}input,select,textarea,button{max-width:100%}.line-card__text,.stotra-card__title{overflow-wrap:anywhere}.table{table-layout:fixed}.field{min-width:0}.field__input{text-overflow:ellipsis;width:100%;min-width:0}.scene-wrap{width:100%;max-width:440px;margin:0 auto;position:relative}.scene{aspect-ratio:2;border:1px solid var(--card-border);width:100%;box-shadow:0 6px 24px #00000059, 0 0 0 1px color-mix(in srgb, var(--glow,#f4b942) 25%, transparent);border-radius:18px;position:relative;overflow:hidden}.scene svg{width:100%;height:100%;display:block}.scene-caption{text-align:center;letter-spacing:.04em;margin:4px 0 0;font-size:.7rem}.scene-wrap .visual{pointer-events:none;opacity:.95;position:absolute;bottom:26px;right:8px;width:64px!important;height:64px!important}.scene-burst{aspect-ratio:1;border:2px solid var(--glow,#f4b942);opacity:0;pointer-events:none;border-radius:50%;width:30%;animation:.9s ease-out burst;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2)}.sc-twinkle{animation:2.6s ease-in-out infinite sc-twinkle}.sc-drift{animation:26s linear infinite sc-drift}.sc-rise{opacity:0;animation:5s ease-in infinite sc-rise}.sc-wave{animation:6s linear infinite sc-wave}.sc-pulse{transform-box:fill-box;transform-origin:50%;animation:3.2s ease-in-out infinite sc-pulse}.sc-spin{animation:14s linear infinite sc-spin}.sc-spin-slow{animation:60s linear infinite sc-spin}.sc-petal{transform-box:view-box;animation:4.5s ease-in-out infinite sc-bloom}.sc-name{filter:drop-shadow(0 0 8px var(--glow,#f4b942));transform-box:fill-box;transform-origin:50%;font-weight:700;animation:3.6s ease-in-out infinite sc-pulse}.sc-flame{transform-box:fill-box;transform-origin:50% 100%;animation:1.2s ease-in-out infinite sc-flame}.sc-arrow{animation:3.4s ease-in infinite sc-arrow}.sc-stone{opacity:0;animation:6s ease-out infinite sc-stone}.sc-sunrise{animation:7s ease-in-out infinite alternate sc-sunrise}.sc-fly{animation:7s linear infinite sc-fly}.sc-speed{animation:1.6s linear infinite sc-speed}.sc-leap{offset-path:path("M20 140 Q 180 -10 340 140");animation:5s ease-in-out infinite sc-leap}.sc-climb{offset-path:path("M30 160 Q 150 120 262 58");animation:5.5s ease-in infinite sc-leap}.sc-ring{transform-box:fill-box;transform-origin:50%;opacity:0;animation:3.6s ease-out infinite sc-ring}.sc-stream{stroke-dasharray:10 14;animation:2.2s linear infinite sc-stream}.sc-note{opacity:0;animation:4s ease-out infinite sc-note}.sc-sway{animation:4.2s ease-in-out infinite sc-sway}.sc-eye{animation:5s ease-in-out infinite sc-eye}@keyframes sc-twinkle{0%,to{opacity:.25}50%{opacity:1}}@keyframes sc-drift{0%{transform:translate(-60px)}to{transform:translate(60px)}}@keyframes sc-rise{0%{opacity:0;transform:translateY(0)}15%{opacity:.9}to{opacity:0;transform:translateY(-150px)}}@keyframes sc-wave{0%{transform:translate(0)}to{transform:translate(-80px)}}@keyframes sc-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes sc-spin{to{transform:rotate(360deg)}}@keyframes sc-bloom{0%,to{opacity:.4;transform:scale(.82)}50%{opacity:.85;transform:scale(1.06)}}@keyframes sc-flame{0%,to{transform:scale(1)rotate(-2deg)}50%{transform:scale(.88,1.12)rotate(2deg)}}@keyframes sc-arrow{0%{opacity:0;transform:translate(-30px)}12%{opacity:1}70%{opacity:1;transform:translate(240px)}to{opacity:0;transform:translate(300px)}}@keyframes sc-stone{0%,8%{opacity:0;transform:translateY(-14px)}22%,80%{opacity:1;transform:none}to{opacity:0}}@keyframes sc-sunrise{0%{transform:translateY(46px)}to{transform:translateY(-6px)}}@keyframes sc-fly{0%{transform:translate(-90px,6px)}50%{transform:translate(180px,-8px)}to{transform:translate(450px,6px)}}@keyframes sc-speed{0%{opacity:0;transform:translate(-100px)}30%{opacity:.5}to{opacity:0;transform:translate(380px)}}@keyframes sc-leap{0%{offset-distance:0%;opacity:0}10%{opacity:1}90%{opacity:1}to{offset-distance:100%;opacity:0}}@keyframes sc-ring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(1.5)}}@keyframes sc-stream{to{stroke-dashoffset:-48px}}@keyframes sc-note{0%{opacity:0;transform:translate(0)}15%{opacity:1}to{opacity:0;transform:translate(24px,-100px)}}@keyframes sc-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes sc-eye{0%,to{transform:scaleY(1)}48%,52%{transform:scaleY(.12)}}@keyframes burst{0%{opacity:.9;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(3.2)}}.anim-grid{grid-template-columns:minmax(0,1fr);gap:12px;margin:0;padding:0;list-style:none;display:grid}@media (width>=560px){.anim-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.anim-card{flex-direction:column;gap:6px;display:flex}.anim-card--blocked{opacity:.6;border-color:var(--danger)}.anim-card--pending{border-style:dashed}.anim-card__pick{align-items:center;gap:8px;min-height:44px;display:flex}.anim-scopes{border:0;margin:0 0 8px;padding:0}.page:has(.anim-grid){padding-bottom:220px}.page-header--compact{min-height:34px}.page-header--compact h1{font-size:1.02rem;line-height:1.2}.page-header--compact .icon-btn{min-width:34px;min-height:34px}.player-status{text-align:center;margin:0;font-size:.9rem}.player-notice{text-align:center;min-height:0;margin:0}.scene--compact{aspect-ratio:3}.page--player .line-card{min-height:0;padding:12px 14px}.page--player .line-card__text{font-size:clamp(1.25rem,5vw,1.7rem);line-height:1.5}.page--player .row--toggle{min-height:40px}.player-controls{gap:8px;display:grid}.player-controls__row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.player-controls__row--main{grid-template-columns:1fr 1.7fr}.player-controls__row--main .btn{min-height:52px}.player-controls__row .btn{width:100%}.player-controls__row:last-child:has(>.btn:only-child){grid-template-columns:1fr}
