html[data-theme=halloween]{color-scheme:dark;--background:#190f21;--surface:#281c30;--surface-elevated:#33243b;--surface-muted:#36283e;--surface-hover:#402d45;--border:#694c70;--border-strong:#a882a0;--text:#faeee2;--muted-text:#d0bbc9;--primary-accent:#ffb07d;--primary-hover:#ffc59e;--primary-active:#f29b65;--secondary-accent:#de9e56;--brand-primary:var(--primary-accent);--brand-primary-hover:var(--primary-hover);--brand-primary-soft:#49303c;--brand-primary-contrast:#241322;--header-bg:#24182e;--overlay:#100917c9;--focus:#ffd092;--shadow:0 16px 40px #0b061a66;--shadow-soft:0 5px 20px #0b061a33;--semantic-success:#a9dfb7;--semantic-success-bg:#20392d;--semantic-info:#bdd8f1;--semantic-info-bg:#213347;--semantic-warning:#f7d594;--semantic-warning-bg:#49351c;--semantic-danger:#ffb0b4;--semantic-danger-bg:#48242e;--semantic-neutral:#d3c0d0;--semantic-neutral-bg:#38293e}.halloween-scene{display:none}html[data-theme=halloween] body{background-image:linear-gradient(180deg,#190f21d9,#190f21ed 78%,#190f21),url(/brand/halloween-library-approved.png);background-size:cover;background-position:top;background-attachment:fixed}html[data-theme=halloween] .app-shell{--halloween-content-width:1320px}html[data-theme=halloween] .app-shell:has(.admin-shell-root){--halloween-content-width:1600px}html[data-theme=halloween] :where(.button.primary,.button.button-primary,.search-field button[type=submit]){color:var(--brand-primary-contrast);background:var(--primary-accent)}html[data-theme=halloween] .halloween-scene{display:block;position:relative;isolation:isolate;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:min(100%,var(--halloween-content-width));margin-inline:auto}.halloween-scene-banner,.halloween-scene-side{display:none}html[data-theme=halloween] .halloween-scene-banner{display:grid;grid-template-columns:1fr 1fr;margin:20px 24px 0;height:260px;border:1px solid #865344;border-radius:18px;overflow:hidden;background:#1a0e20}.halloween-banner-left,.halloween-banner-right{min-width:0}.halloween-banner-left,.halloween-banner-right:before{background-image:url(/brand/halloween-library-approved.png);background-repeat:no-repeat}.halloween-banner-left{background-size:auto 520px;background-position:left 46%;-webkit-mask-image:linear-gradient(90deg,#000 70%,transparent);mask-image:linear-gradient(90deg,#000 70%,transparent)}.halloween-banner-right:before{content:"";display:block;width:min(100%,420px);height:100%;-webkit-margin-start:auto;margin-inline-start:auto;background-size:auto 430px;background-position:100% 100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 22%);mask-image:linear-gradient(90deg,transparent,#000 22%)}.halloween-garland{display:flex;justify-content:space-around;align-items:flex-start;height:36px;margin:0 24px;padding-inline:8px;border-top:1px solid #a27a85;border-radius:0 0 50% 50%}.halloween-garland i{display:block;flex:0 0 auto;width:12px;height:22px;margin-top:4px;transform:rotate(25deg);border-radius:2px;background:repeating-linear-gradient(140deg,#dc9258 0 3px,#e8c6bd 3px 6px);box-shadow:0 -3px #8a6a84}.halloween-garland i:nth-child(2n){transform:rotate(-15deg);background:url(/brand/halloween-skeleton.svg) 50%/contain no-repeat;width:16px;height:29px;box-shadow:none}html[data-theme=halloween] .brand-link{position:relative}html[data-theme=halloween] .brand-link:after{content:"";position:absolute;bottom:-1px;left:26px;width:15px;height:15px;background:url(/brand/halloween-pumpkin.svg) 50%/contain no-repeat;pointer-events:none}html[data-theme=halloween] :where(.button,.header-compact-button,.header-menu-popover,.catalog-filters,.settings-section-card,.book-text-section,.book-action-card){position:relative}html[data-theme=halloween] :where(.button,.header-compact-button):after{content:"";position:absolute;top:0;right:0;width:16px;height:16px;background:url(/brand/halloween-web.svg) 0 0/contain no-repeat;transform:rotate(90deg);opacity:.7;pointer-events:none}html[data-theme=halloween] :where(.header-menu-popover,.catalog-filters,.settings-section-card,.book-text-section,.book-action-card):after{content:"";position:absolute;top:0;right:0;width:34px;height:34px;background:url(/brand/halloween-web.svg) 0 0/contain no-repeat;transform:rotate(90deg);pointer-events:none}html[data-theme=halloween] :where(.catalog-promo-head h2,.catalog-page>h1,.book-detail-page>h1):after{content:"";display:inline-block;width:23px;height:23px;-webkit-margin-start:10px;margin-inline-start:10px;vertical-align:middle;background:url(/brand/halloween-pumpkin.svg) 50%/contain no-repeat;pointer-events:none}html[data-theme=halloween] .catalog-filters:before{content:"";position:absolute;bottom:4px;right:5px;width:14px;height:25px;background:url(/brand/halloween-candle.svg) bottom/contain no-repeat;pointer-events:none}html[data-theme=halloween] .catalog-promo-head{position:relative;-webkit-padding-end:44px;padding-inline-end:44px}html[data-theme=halloween] .catalog-promo-head:after{content:"";position:absolute;right:1px;top:-4px;width:38px;height:32px;pointer-events:none;background:url(/brand/halloween-candle.svg) 100% 100%/20px 32px no-repeat,url(/brand/halloween-pumpkin.svg) 0 100%/21px 21px no-repeat}html[data-theme=halloween] .catalog-filters h2:after{content:"";display:inline-block;width:18px;height:18px;-webkit-margin-start:7px;margin-inline-start:7px;vertical-align:middle;background:url(/brand/halloween-pumpkin.svg) 50%/contain no-repeat;pointer-events:none}html[data-theme=halloween] .header-menu-popover:before{content:"";position:absolute;top:1px;right:1px;width:14px;height:27px;background:url(/brand/halloween-spider.svg) top/contain no-repeat;pointer-events:none}html[data-theme=halloween] :where(.reader-shell,.reader-content,.reader-chapter,.reader-settings-panel) .button:after{content:none}html[data-theme=halloween] .app-shell:has(.reader-shell) .halloween-garland{display:none}html[data-theme=halloween] .app-shell:has(.reader-page) .halloween-scene{display:none}html[data-theme=halloween] body:has(.reader-page){background-image:none}html[data-theme=halloween] .reader-page .button:after{content:none}@media (min-width:1880px){html[data-theme=halloween] .halloween-scene-banner{display:none}html[data-theme=halloween] .halloween-scene-side{--halloween-side-width:min(520px,calc((100vw - var(--halloween-content-width))/2 - 32px));display:block;position:fixed;top:110px;height:min(980px,calc(100dvh - 110px));width:var(--halloween-side-width);background-size:auto clamp(540px,85dvh,900px);background-repeat:no-repeat;background-image:url(/brand/halloween-library-approved.png);-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 77%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(180deg,transparent,#000 7%,#000 77%,transparent);-webkit-mask-composite:source-in,xor;mask-composite:intersect}.halloween-scene-left{left:max(8px,calc((100vw - var(--halloween-content-width))/2 - var(--halloween-side-width) - 8px));background-position:0}.halloween-scene-right{right:max(8px,calc((100vw - var(--halloween-content-width))/2 - var(--halloween-side-width) - 8px));background-position:100%}}@media (min-width:1880px) and (max-width:2199px){html[data-theme=halloween] .app-shell:has(.admin-shell-root) .halloween-scene-side{display:none}html[data-theme=halloween] .app-shell:has(.admin-shell-root) .halloween-scene-banner{display:grid}}@media (max-width:600px){html[data-theme=halloween] body{background-attachment:scroll;background-size:auto 700px;background-repeat:no-repeat}html[data-theme=halloween] .halloween-scene-banner{margin:16px 16px 0;height:auto;aspect-ratio:16/9}.halloween-banner-left{background-size:auto 300px;background-position:left 40%}.halloween-banner-right:before{background-size:auto 300px;background-position:100% 100%}.halloween-garland{margin-inline:16px;height:32px}.halloween-garland i:nth-child(n+9){display:none}}@media (prefers-reduced-motion:reduce){html[data-theme=halloween] *,html[data-theme=halloween] :after,html[data-theme=halloween] :before{animation:none!important;scroll-behavior:auto!important}}.halloween-overlay{position:fixed;inset:0;z-index:80;overflow:hidden;contain:layout paint;-webkit-user-select:none;-moz-user-select:none;user-select:none}.halloween-overlay,.halloween-overlay *{pointer-events:none}html:not([data-theme=halloween]) .halloween-overlay{display:none}.halloween-motion-toggle{border-top:1px solid var(--border);margin-top:5px;padding-top:10px}.halloween-motion-toggle span{white-space:normal}.halloween-pumpkin-track{position:absolute;left:0;bottom:max(20px,env(safe-area-inset-bottom));width:clamp(76px,9vw,118px);height:auto;animation:halloween-roll 7.2s linear both}.halloween-pumpkin-laugh{animation:halloween-laugh 7.2s ease-in-out both}.halloween-pumpkin-laugh svg{display:block;width:100%;height:auto}.halloween-pumpkin-mouth{transform-origin:60px 86px;animation:halloween-mouth 7.2s ease-in-out both}@keyframes halloween-roll{0%{transform:translateX(-160%) rotate(-380deg);opacity:0}5%{opacity:1}25%,72%{transform:translateX(18px) rotate(0);opacity:1}97%{opacity:1}to{transform:translateX(-160%) rotate(-380deg);opacity:0}}@keyframes halloween-laugh{0%,25%,35%,45%,55%,65%,75%,to{transform:translateY(0) rotate(0)}30%,50%,70%{transform:translateY(-12px) rotate(-7deg)}40%,60%{transform:translateY(-9px) rotate(7deg)}}@keyframes halloween-mouth{0%,24%,36%,48%,60%,72%,to{transform:scaleY(1)}30%,42%,54%,66%{transform:scaleY(1.55)}}.halloween-spider-thread{position:absolute;left:50%;top:0;width:1px;height:50%;background:#b39db86b;transform-origin:top;animation:halloween-thread 6.2s linear both}.halloween-jump-spider{position:absolute;left:50%;top:50%;width:clamp(76px,10vw,120px);height:auto;--spider-jump-scale:7;animation:halloween-spider-jump 6.2s ease-in both}@keyframes halloween-thread{0%{transform:scaleY(0);opacity:0}7%{opacity:1}62%,76%{transform:scaleY(1);opacity:1}86%,to{transform:scaleY(1);opacity:0}}@keyframes halloween-spider-jump{0%{transform:translate(-50%,-50%) translateY(-75vh) scale(.8);opacity:0}7%{opacity:1}62%,76%{transform:translate(-50%,-50%) translateY(0) scale(1);opacity:1}91%{transform:translate(-50%,-50%) scale(var(--spider-jump-scale));opacity:.7}to{transform:translate(-50%,-50%) scale(calc(var(--spider-jump-scale) + 1));opacity:0}}.halloween-bat{position:absolute;left:-90px;top:17%;width:54px;animation:halloween-bat-flight 5.5s linear both}.halloween-bat svg{display:block;width:100%;height:auto;animation:halloween-bat-flap .32s ease-in-out infinite alternate}.halloween-bat-1{top:25%;width:44px;animation-delay:.18s}.halloween-bat-2{top:14%;width:38px;animation-delay:.4s}.halloween-bat-3{top:32%;width:48px;animation-delay:.1s}.halloween-bat-4{top:21%;width:34px;animation-delay:.35s}@keyframes halloween-bat-flight{0%{transform:translateX(0) translateY(20px) rotate(-8deg);opacity:0}8%{opacity:.85}45%{transform:translateX(52vw) translateY(-35px) rotate(6deg)}92%{opacity:.85}to{transform:translateX(calc(100vw + 180px)) translateY(12px) rotate(-4deg);opacity:0}}@keyframes halloween-bat-flap{0%{transform:scaleY(.5)}to{transform:scaleY(1)}}.halloween-bat.halloween-bat-approach{--bat-approach-scale:12;animation:halloween-bat-approach 6s ease-in-out both}@keyframes halloween-bat-approach{0%{transform:translateY(20px) scale(1) rotate(-8deg);opacity:0}8%{opacity:1}45%{transform:translate(calc(50vw + 70px),30vh) scale(1) rotate(-12deg);opacity:1}62%{transform:translate(calc(50vw + 70px),30vh) scale(2.2) rotate(12deg);opacity:1}82%{transform:translate(calc(50vw + 70px),30vh) scale(6) rotate(-16deg);opacity:1}93%{transform:translate(calc(50vw + 70px),30vh) scale(var(--bat-approach-scale)) rotate(14deg);opacity:.95}to{transform:translate(calc(50vw + 70px),30vh) scale(calc(var(--bat-approach-scale) + 2)) rotate(22deg);opacity:0}}@media (max-width:600px){.halloween-jump-spider{--spider-jump-scale:4.5}.halloween-bat{width:40px}.halloween-bat-1,.halloween-bat-3{width:33px}.halloween-bat-2,.halloween-bat-4{width:28px}.halloween-bat.halloween-bat-approach{--bat-approach-scale:10}}@media (prefers-reduced-motion:reduce){.halloween-overlay{display:none!important}}