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:none}html[data-theme=halloween] .app-shell{isolation:isolate}html[data-theme=halloween] .app-shell>:where(main,footer){position:relative;z-index:1}html[data-theme=halloween] .main:has(>.admin-shell-root){width:100%}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;flex:0 0 64px;z-index:0;isolation:isolate;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:100%}.halloween-art{position:fixed;inset:0;background:linear-gradient(180deg,#190f2170,#190f21e0),url(/brand/halloween-library-approved.png) top /cover no-repeat}.halloween-garland{position:relative;top:0;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:24px;height:44px;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:30px;height:55px;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 (max-width:600px){html[data-theme=halloween] body{background-attachment:scroll;background-size:auto 700px;background-repeat:no-repeat}.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(130px,18vw,250px);height:auto;animation:halloween-roll 7.2s ease-in-out 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:translate(-110%) scale(.65);opacity:0}8%{opacity:1}18%{transform:translate(12vw,-20vh) scale(.8) rotate(-12deg)}30%{transform:translate(25vw) scale(1)}43%{transform:translate(37vw,-25vh) scale(1.2) rotate(12deg)}55%,65%{transform:translate(calc(50vw - 50%)) scale(1.45)}70%{transform:translate(calc(50vw - 50%)) scale(1.45) rotateY(180deg)}82%{transform:translate(70vw,-20vh) scale(1.1) rotateY(180deg);opacity:1}to{transform:translate(115vw) scale(.8) rotateY(180deg);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}}.halloween-bat{width:105px;left:-150px}.halloween-bat-1,.halloween-bat-3{width:90px}.halloween-bat-2,.halloween-bat-4{width:80px}.halloween-garland i{transform-origin:top center}.halloween-scene:has(.halloween-garland){pointer-events:none}.halloween-frequency{display:grid;align-content:start;grid-gap:8px;gap:8px;min-width:0}.halloween-frequency>span:last-child{display:flex;align-items:center;gap:8px}.halloween-controls{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:var(--radius);min-width:0}.halloween-frequency-fields,.halloween-option-toggles{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-gap:12px 24px;gap:12px 24px}.halloween-frequency-fields{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}.halloween-controls legend{padding-inline:6px}.halloween-frequency input{width:100px;min-height:40px;padding:8px 10px;color:var(--text);background:var(--surface-elevated);border:1px solid var(--border);border-radius:var(--radius);font:inherit}.halloween-frequency input:focus-visible{outline:2px solid var(--focus);outline-offset:2px}@media(max-width:600px){.halloween-bat{width:75px}.halloween-bat-1,.halloween-bat-3{width:65px}.halloween-bat-2,.halloween-bat-4{width:58px}}html[data-theme=halloween] .app-shell{position:relative}html[data-halloween-decor=false][data-theme=halloween] :where(.brand-link,.button,.header-compact-button,.header-menu-popover,.catalog-filters,.settings-section-card,.book-text-section,.book-action-card,.catalog-promo-head,.catalog-promo-head h2,.catalog-page>h1,.book-detail-page>h1,.catalog-filters h2):after,html[data-halloween-decor=false][data-theme=halloween] :where(.catalog-filters,.header-menu-popover):before{content:none}html[data-theme=halloween] .halloween-scene:not(:has(.halloween-garland)){flex-basis:0}