@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Regular.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Vazirmatn;src:url(fonts/Vazirmatn-Bold.ttf) format('truetype');font-weight:600 900;font-display:swap}
:root,[lang=en],body[data-theme=modern]{--title:Vazirmatn}
body{font-family:Vazirmatn,Estedad,sans-serif;font-size:14px;--muted:#686a60}
body[data-theme=modern]{--muted:#bbb7cf}
.page-heading h1,.sheet h2,.charge-card h2,.cup-card h2{font-family:Vazirmatn,Estedad,sans-serif;font-weight:700;line-height:1.65}
.page-heading h1{font-size:29px;margin:8px 0}.page-heading>p,.sheet>p{font-size:14px;line-height:1.95}.page-heading .eyebrow{font-size:10px;letter-spacing:1.5px}
.sheet{padding:24px;scrollbar-gutter:stable}.sheet h2{font-size:25px}.sheet .small{font-size:12px;line-height:1.85}.sheet h3{font-size:16px;margin-block:22px 10px}.button{font-weight:700}.page>.button{margin-top:12px}
.cinema-art{display:inline-block;flex-shrink:0;position:relative;width:72px;height:72px;aspect-ratio:1;background-image:var(--art)!important;background-size:var(--grid) var(--grid)!important;background-position:var(--ax) var(--ay)!important;background-repeat:no-repeat!important;border-radius:14px;overflow:hidden;vertical-align:middle;box-shadow:inset 0 0 0 1px #e4c47a40}
.cinema-banner{position:relative;min-height:270px;isolation:isolate;overflow:hidden;border-radius:22px;background:#102329;color:#fff8e7;margin:16px 0 24px;border:1px solid #c6a76e;box-shadow:0 14px 34px #061c242d}
.cinema-backdrop{position:absolute;width:100%;height:auto;aspect-ratio:1;inset-inline-end:0;top:50%;transform:translateY(-50%);border-radius:0;z-index:-2}
.cinema-banner:after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,#04181be8,#04181b91 60%,#04181b30);z-index:-1}
[dir=rtl] .cinema-banner:after{background:linear-gradient(260deg,#04181be8,#04181b9c 60%,#04181b30)}
.cinema-banner-copy{padding:28px 24px;max-width:95%}.cinema-banner-copy small{color:#eed8a5;font-size:11px;letter-spacing:1px}.cinema-banner-copy h2{font:700 29px/1.6 Vazirmatn;margin:12px 0}.cinema-banner-copy p{font-size:14px;line-height:1.9;max-width:330px;color:#f5ecdc}.cinema-banner-copy .button{min-height:45px;font-size:13px;margin-top:8px}.cinema-banner-copy .quiet{color:#fff1cd}
.charge-grid{gap:14px}.charge-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 8px 22px var(--shadow);text-align:start;transition:transform .2s,box-shadow .2s}.charge-card:active{transform:scale(.985)}
.cinematic-charge{height:auto!important;min-height:0!important;aspect-ratio:1;position:relative;padding:0!important;overflow:hidden;background:#11282b!important;isolation:isolate}
.cinematic-charge>.cinema-art{width:100%;height:100%;border-radius:0;position:absolute;inset:0;z-index:-2}
.cinematic-charge:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#041719e6);z-index:-1}
.cinematic-charge .charge-quantity{position:absolute;top:10px;inset-inline-end:10px;bottom:auto;min-width:49px;border-radius:12px;padding:5px 8px;background:#06171bdc;border:1px solid #efd7a184;color:#ffebba;font:700 25px/1.1 Vazirmatn;text-align:center;box-shadow:0 4px 16px #0005}
.cinematic-charge .charge-quantity small{display:block;font:400 10px/1.7 Vazirmatn;color:#fff1d2}.cinema-art-label{position:absolute;bottom:12px;inset-inline:12px;color:#fff4d8;font:700 14px/1.5 Vazirmatn;text-shadow:0 2px 8px #000}
.charge-card-copy{padding:15px 13px}.charge-card-copy h2{font-size:18px;margin:6px 0}.charge-card-copy p{font-size:12px;line-height:1.9;min-height:0;color:var(--ink)}.charge-card-copy .micro-label{font-size:9px;letter-spacing:.4px}.charge-card-bottom b{font-size:17px}.charge-card-bottom small{font-size:10px}.charge-card .price-note{font-size:10px;line-height:1.7}.charge-card-bottom>span{width:31px;height:31px}
.cinema-product-hero{max-width:270px;margin:10px auto 20px;border:1px solid #c9a66a;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px #132b3440}.cinema-product-hero .charge-quantity{font-size:34px}.cinema-product-hero .cinema-art-label{font-size:20px}
.cinema-lead{font-size:15px!important;line-height:2!important;color:var(--ink)!important}.cinema-when{background:var(--soft);border:1px solid var(--line);border-radius:14px;padding:15px;margin:14px 0}.cinema-when>b{font-size:14px}.cinema-when p{font-size:14px;line-height:1.9;margin:7px 0}.cinema-when>.button{font-size:13px;margin-top:7px}
.cinema-manifest-row{display:grid;grid-template-columns:58px 1fr;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.cinema-manifest-row>.cinema-art{width:58px;height:58px;border-radius:12px}.cinema-manifest-row b{font-size:14px}.cinema-manifest-row small{display:block;font-size:12px;margin-top:5px}.cinema-manifest-row p{font-size:13px;line-height:1.85;margin:6px 0}.cinema-manifest-row>.button{grid-column:2;min-height:40px;font-size:12px;width:auto;justify-self:start;padding:8px 20px}
.cinema-buy-summary{background:var(--surface);border:1px solid var(--accent2);border-radius:17px;padding:18px;margin-top:22px}.cinema-buy-summary>strong{font-size:20px}.cinema-buy-summary p{font-size:13px;line-height:1.85}.cinema-buy-summary>b{font-size:12px}.cinema-buy-summary .charge-price{align-items:center;flex-wrap:wrap;gap:8px}.cinema-buy-summary .charge-price strong{font-size:27px}.cinema-buy-summary .charge-price em{font:400 12px Vazirmatn}.cinema-details{margin:16px 0;border:1px solid var(--line);border-radius:12px;padding:12px 14px}.cinema-details summary{font-size:13px;cursor:pointer;font-weight:700;line-height:1.8}.cinema-details p{font-size:13px;line-height:1.95;margin-bottom:0}.cinema-details table{width:100%;border-collapse:collapse;margin-top:12px;font-size:12px;text-align:start}.cinema-details th,.cinema-details td{padding:9px 4px;border-bottom:1px solid var(--line);text-align:center}
.cinema-codex{display:flex;flex-direction:column;gap:12px;margin-top:16px}.cinema-power-tile{display:flex;gap:14px;align-items:center;text-align:start;border:1px solid var(--line);background:var(--surface);padding:10px;border-radius:17px;box-shadow:0 5px 15px var(--shadow)}.cinema-power-tile>.cinema-art{width:82px;height:82px}.cinema-power-tile>span:nth-child(2){flex:1;min-width:0}.cinema-power-tile b{font-size:17px;display:block;margin-bottom:7px}.cinema-power-tile small{font-size:12px;line-height:1.85;display:block}.cinema-power-tile>svg{width:18px}
.cinema-lesson-title{display:flex;align-items:center;gap:16px;margin:22px 0 15px}.cinema-lesson-title>.cinema-art{width:95px;height:95px;border-radius:20px}.cinema-lesson-title h2{margin:7px 0}.cinema-lesson-title .badge{font-size:9px;line-height:1.9}.cinema-lesson-title p{font-size:12px;line-height:1.8;margin:0}
.cinema-demo{position:relative;margin:18px 0;background:radial-gradient(ellipse at top,#284955,#0c252a);border:1px solid #c7aa6a;border-radius:20px;padding:18px 14px;color:#fff3d4;overflow:hidden}.cinema-demo-head{display:flex;justify-content:space-between;gap:8px;font-size:10px}.cinema-demo>p{font-size:13px;line-height:1.9;color:#ece7d9}.cinema-demo-cards{display:flex;justify-content:center;align-items:start;gap:10px;min-height:130px;padding:10px 0;direction:ltr}.cinema-scene-card{display:flex;flex-direction:column;align-items:center;gap:8px;max-width:70px}.cinema-scene-card>small{font-size:10px;white-space:nowrap;color:#fff1d0}.cinema-demo .card{width:56px;height:82px;flex-shrink:0}.cinema-card-note{font-size:10px;line-height:1.7;color:#f9dfa7;text-align:center}.cinema-selected{display:flex;gap:20px;align-items:center;justify-content:center;padding:12px;border-top:1px solid #c3d4bf33;font-size:12px}.cinema-demo-metrics{display:flex;justify-content:space-evenly;gap:8px;border-top:1px solid #c3d4bf33;margin-top:12px;padding-top:12px}.cinema-demo-metrics span{font-size:11px;text-align:center}.cinema-demo-metrics b{display:block;font-size:23px;direction:ltr;padding-top:6px}.cinema-intel>b{font-size:12px}.cinema-intel>div{display:flex;gap:15px;justify-content:center;margin-top:12px}
.cup-card-art{height:auto;aspect-ratio:1;padding:0;overflow:hidden;background:#071a21}.cup-card-art .cinema-crest{width:100%;height:100%;border-radius:0;box-shadow:none;transform:none}.cup-card-art>span:not(.cinema-art){z-index:2;bottom:12px;top:auto;background:#091a26df;padding:5px 10px;border-radius:8px;color:#fff1cd}.cinema-crest:before,.cinema-crest:after{content:none!important}.cinema-crest{border:0!important;border-radius:17px}.cup-card-copy{padding:15px}.cup-card-copy h2{font-size:21px}.cup-card-copy p{font-size:13px;line-height:1.9}.cup-card-copy>small{font-size:10px}.cinema-cup-reward{font-size:11px;line-height:1.9;border-top:1px solid var(--line);padding-top:10px;margin-top:10px;color:var(--accent2)}
.cinema-cup-hero{position:relative;max-width:275px;margin:10px auto 16px}.cinema-cup-hero>.cinema-crest{width:100%;height:auto;aspect-ratio:1;border-radius:22px;box-shadow:0 10px 28px #04151a55}.cinema-cup-hero>span:not(.cinema-art){position:absolute;bottom:14px;inset-inline:12px;text-align:center;padding:8px;background:#07191fe0;border:1px solid #ecd59766;border-radius:10px;color:#fff1d2;font-size:11px}.cup-facts{gap:8px}.cup-facts small{font-size:11px;line-height:1.9}.cup-facts b{font-size:25px}.cinema-cup-steps{padding-inline-start:23px;font-size:14px;line-height:2}.cinema-cup-steps li{padding-inline-start:4px;margin:12px 0}.cinema-cup-prizes{background:var(--soft);padding:16px;border-radius:16px}.cinema-cup-prizes h3{margin-top:0}.cinema-cup-prizes p{font-size:13px;line-height:1.9}.cinema-cup-loadout{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cinema-cup-loadout>div{border:1px solid var(--line);border-radius:15px;padding:12px;text-align:center}.cinema-cup-loadout .cinema-art{width:82px;height:82px}.cinema-cup-loadout b{display:block;margin:10px 0;font-size:16px}.cinema-cup-loadout p{font-size:12px;line-height:1.8}.cinema-cup-loadout .button{font-size:11px;padding:10px 5px}.trophy-grid .cinema-crest{width:90px;height:90px}.result-crest .cinema-crest{width:115px;height:115px}.seat-crest.cinema-crest{width:23px;height:23px;border-radius:50%}.run-card .cinema-crest{width:64px;height:64px}
.bag-icon .cinema-art{width:58px;height:58px;border-radius:12px}.bag-icon{background:none!important;width:58px;height:58px}.bag-power{gap:12px}.bag-power h2{font:700 17px/1.65 Vazirmatn}.bag-power-copy>small{font-size:11px}.cinema-bag-copy{font-size:12px;line-height:1.9;margin:9px 0 0}.bag-slot>.cinema-art{width:68px;height:68px}.bag-slot b{font-size:15px}.bag-slot span{font-size:11px}.power-orb>.cinema-art{width:37px;height:37px;border-radius:9px}.power-orb{background:none!important;box-shadow:none!important;overflow:hidden}.power-gem.large{width:135px;height:135px;margin:12px auto;background:none;box-shadow:none}.power-gem.large>.cinema-art{width:100%;height:100%;border-radius:23px}.cinema-tiny{width:34px;height:34px;border-radius:8px;margin-inline-end:8px}.academy-actions button{display:flex;align-items:center;justify-content:center}.academy-actions button>svg{display:none}
.cinema-menu-art{width:100%;height:auto;aspect-ratio:1.8;border-radius:12px;margin-bottom:11px;background-size:400% 720%!important}.menu-card{padding:10px!important;overflow:hidden}.menu-card b{font-size:14px!important}.menu-card small{font-size:10px!important;line-height:1.8}.journey-glyph>.cinema-art,.academy-invite>span>.cinema-art{width:65px;height:65px;border-radius:15px}.journey-glyph{border:0!important;transform:none!important}.academy-invite>span{background:none!important;width:auto!important;height:auto!important}.cinema-codex-link{display:flex;align-items:center;gap:13px;width:100%;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:17px;text-align:start;margin-bottom:12px}.cinema-codex-link .cinema-art{width:65px;height:65px}.cinema-codex-link>span:nth-child(2){flex:1}.cinema-codex-link b{display:block;font-size:16px}.cinema-codex-link small{display:block;font-size:12px;margin-top:6px;line-height:1.8}.home-art h1{font-family:Lalezar,Vazirmatn}.home-art p{font-size:13px;line-height:1.9}.home-links .button{font-size:13px}.brand small{letter-spacing:.5px}.home-bottom{margin-block:18px}.atelier-nav button,.bag-school-nav button{min-height:42px;font-size:12px}.vault-pack-art>.cinema-art{width:100%;height:100%;border-radius:0}.vault-pack-copy h2{font:700 18px/1.7 Vazirmatn}.vault-pack-copy p{font-size:13px;line-height:1.85}
/* Single short burst, transform/opacity only. Never blocks taps or awaits gameplay. */
.cinema-fx{position:fixed;width:180px;height:180px;margin:-90px 0 0 -90px;z-index:110;pointer-events:none;isolation:isolate;animation:fx-life 1s both;color:var(--fx)}
.cinema-fx .fx-relic{position:absolute;width:84px;height:84px;left:48px;top:43px;border-radius:50%;box-shadow:0 0 20px var(--fx),0 0 45px #00181a77;animation:fx-arrive .85s both}
.cinema-fx>strong{position:absolute;top:143px;width:180px;padding:5px 10px;text-align:center;font:700 14px/1.7 Vazirmatn;color:#fff3d4;background:#061a22e8;border:1px solid #d6c18b80;border-radius:10px;box-shadow:0 3px 12px #0004}
.fx-halo,.fx-wave{position:absolute;inset:25px;border:2px solid var(--fx);border-radius:50%;box-shadow:0 0 16px var(--fx);animation:fx-ring .85s both}.fx-wave{inset:8px;animation-delay:.08s;opacity:.55}.fx-particle{position:absolute;left:87px;top:87px;width:5px;height:12px;border-radius:50%;background:var(--fx);box-shadow:0 0 7px var(--fx);animation:fx-spark .8s both;animation-delay:calc(var(--i)*.015s)}
.fx-fire .fx-halo{border-radius:60% 10% 60% 35%;animation:fx-flame .85s both}.fx-fire .fx-particle{height:25px}.fx-shield .fx-halo{border-radius:35% 35% 50% 50%;border-width:4px;animation:fx-guard .85s both}.fx-shield .fx-wave{border-radius:35% 35% 50% 50%}.fx-reveal .fx-halo{border-radius:70% 10%;transform:rotate(45deg);animation:fx-eye .8s both}.fx-reveal .fx-wave{border-style:dashed}.fx-swap .fx-halo,.fx-bond .fx-halo{animation:fx-orbit .9s both;border-left-color:transparent;border-right-color:transparent}.fx-swap .fx-wave{animation:fx-orbit .9s reverse both}.fx-alchemy .fx-halo,.fx-invert .fx-halo{border-radius:25%;animation:fx-turn .85s both}.fx-alchemy{--fx:#c69bff!important}.fx-crown .fx-relic,.fx-rise .fx-relic,.fx-growth .fx-relic{animation:fx-rise .85s both}.fx-strike .fx-halo,.fx-pierce .fx-halo,.fx-slash .fx-halo{inset:0 83px;border-width:0;background:var(--fx);border-radius:50%;animation:fx-slash .6s both}.fx-pierce .fx-wave{border-style:dashed}.fx-echo .fx-wave{animation-delay:.2s}.fx-invert .fx-relic{animation:fx-flip .85s both}.fx-wind .fx-halo{border-radius:30%;animation:fx-orbit .8s both}.fx-mirror .fx-halo{border-radius:12px;animation:fx-flip .85s both}.fx-cleanse .fx-wave{border-width:8px;animation:fx-clean .9s both}.fx-shatter .fx-halo{border-style:dashed}.fx-shatter .fx-particle{border-radius:0;height:17px;animation:fx-shards .85s both}.fx-veil .fx-halo{background:#aa8ad166;border:0;border-radius:45%;animation:fx-veil .9s both}.fx-energy .fx-particle,.fx-siphon .fx-particle{animation:fx-spark .85s reverse both}.fx-drain .fx-halo{animation:fx-ring .85s reverse both}.fx-balance .fx-wave{border-radius:0;border-top:0;border-bottom:0;animation:fx-balance .85s both}.fx-dawn .fx-wave{border-width:6px;animation:fx-ring .9s both}.fx-still{animation:none!important}.fx-still .fx-relic{animation:none!important;width:58px;height:58px;left:61px;top:50px;box-shadow:0 0 0 2px var(--fx)}.fx-still .fx-halo,.fx-still .fx-wave{display:none}.fx-still>strong{top:116px}
@keyframes fx-life{0%{opacity:0}12%,75%{opacity:1}100%{opacity:0}}@keyframes fx-arrive{0%{transform:scale(.4) rotate(-10deg)}35%{transform:scale(1.05)}100%{transform:scale(.95)}}@keyframes fx-ring{0%{transform:scale(.25);opacity:1}100%{transform:scale(1.4);opacity:0}}@keyframes fx-spark{0%{transform:rotate(var(--rot)) translateY(-20px);opacity:0}25%{opacity:1}100%{transform:rotate(var(--rot)) translateY(-95px) scale(.25);opacity:0}}@keyframes fx-flame{0%{transform:scale(.3) rotate(-45deg)}100%{transform:scale(1.3) rotate(30deg);opacity:0}}@keyframes fx-guard{0%{transform:scale(.6)}35%{transform:scale(1.08)}100%{transform:scale(1);opacity:0}}@keyframes fx-eye{0%{transform:rotate(45deg) scaleY(.1)}55%{transform:rotate(45deg) scaleY(1)}100%{transform:rotate(45deg) scale(1.1);opacity:0}}@keyframes fx-orbit{0%{transform:rotate(-90deg) scale(.65)}100%{transform:rotate(160deg) scale(1.2);opacity:0}}@keyframes fx-turn{0%{transform:scale(.5) rotate(0)}100%{transform:scale(1.25) rotate(180deg);opacity:0}}@keyframes fx-rise{0%{transform:translateY(30px) scale(.5)}40%{transform:translateY(-8px) scale(1.08)}100%{transform:translateY(-12px) scale(1)}}@keyframes fx-slash{0%{transform:rotate(40deg) scaleY(.1);opacity:0}35%{transform:rotate(40deg) scaleY(1.2);opacity:1}100%{transform:rotate(40deg) scaleY(.7);opacity:0}}@keyframes fx-flip{0%{transform:rotateY(-90deg)}55%{transform:rotateY(10deg)}100%{transform:rotateY(0)}}@keyframes fx-clean{0%{transform:scale(.3);opacity:.9}100%{transform:scale(1.35);opacity:0}}@keyframes fx-shards{0%{transform:rotate(var(--rot)) translateY(-34px);opacity:1}100%{transform:rotate(var(--rot)) translateY(-100px) rotate(95deg);opacity:0}}@keyframes fx-veil{0%{transform:translateX(-35px) scale(.7);opacity:0}45%{opacity:.7}100%{transform:translateX(30px) scale(1.3);opacity:0}}@keyframes fx-balance{0%{transform:rotate(-20deg)}50%{transform:rotate(15deg)}100%{transform:rotate(0);opacity:0}}
@media(prefers-reduced-motion:reduce){.cinema-fx,.cinema-fx *{animation:none!important}.fx-halo,.fx-wave,.fx-particle{display:none}.charge-card{transition:none}}
@media(max-width:350px){.sheet{padding:19px}.cinema-banner-copy{padding:23px 18px}.cinema-banner-copy h2{font-size:25px}.cinema-lesson-title{gap:11px}.cinema-lesson-title>.cinema-art{width:76px;height:76px}.cinema-lesson-title h2{font-size:22px}.cinema-power-tile>.cinema-art{width:68px;height:68px}.cinema-demo{padding:14px 10px}.cinema-demo-cards{gap:6px}.cinema-demo .card{width:50px;height:74px}.cinema-cup-loadout>div{padding:9px}.cinema-cup-loadout .cinema-art{width:68px;height:68px}.charge-card-copy{padding:12px 10px}.charge-card-copy h2{font-size:16px}.charge-card-copy p{font-size:12px}.charge-card .price-note{font-size:10px}.cinema-art-label{font-size:12px}.menu-card b{font-size:12px!important}}
/* Artwork should lead into choices on the first screen, without a long lobby. */
.cinema-banner .cinema-backdrop{top:0;transform:none;width:100%;height:100%;aspect-ratio:auto}
.page:has(.store-editorial) .page-heading{margin-bottom:8px}.page:has(.store-editorial) .page-heading>p{display:none}
.page:has(.store-editorial) .stock-context{margin:8px 0}.page:has(.store-editorial) .stock-ribbon{padding:10px 14px;margin:8px 0 14px;min-height:65px}
.page:has(.store-editorial) .stock-ribbon>div>b{font-size:25px}.page:has(.store-editorial) .stock-slots .cinema-art{width:31px;height:31px;border-radius:8px}
.store-editorial{min-height:0;margin:12px 0 16px}.store-editorial .cinema-banner-copy{padding:19px;max-width:100%}.store-editorial .cinema-banner-copy>small{display:none}.store-editorial .cinema-banner-copy h2{font-size:24px;line-height:1.5;margin:0 0 5px}.store-editorial .cinema-banner-copy p{font-size:12px;line-height:1.9;margin:4px 0 8px}.store-editorial .cinema-banner-copy .button{margin:0;min-height:40px;font-size:12px;max-width:220px}
#cup-content>.cinema-banner{min-height:185px;margin-top:15px;margin-bottom:16px}#cup-content>.cinema-banner .cinema-banner-copy{padding:23px}#cup-content>.cinema-banner h2{font-size:25px;margin:8px 0}#cup-content>.cinema-banner p{font-size:13px;margin:5px 0}
.cup-intro{padding:14px 17px;gap:10px}.cup-intro strong{font-size:26px}.cup-intro p{font-size:12px;line-height:1.75;margin:5px 0}.cup-intro .button{font-size:11px;min-width:74px;padding:9px}
.charge-card,.cup-card{display:flex;flex-direction:column;align-items:stretch}.cinematic-charge,.cup-card-art{width:100%;flex-shrink:0}.charge-card-copy,.cup-card-copy{flex:1;width:100%}.cinema-crest{clip-path:none!important}
