
html.halloween{--accent:#efad76;--accent-soft:#ff8c3820}
.halloween .button-primary{background:linear-gradient(115deg,#ffb270,#cb8af5)!important;color:#211027!important;border-color:#efad7660!important;box-shadow:0 8px 28px #e3773420}
.halloween .hero{border-color:#e5985638;box-shadow:0 20px 80px #9c3fd012}
.halloween .hero-image{object-position:center 42%;opacity:.85}
.halloween .hero::after{background:linear-gradient(180deg,#10091605 15%,#10091650 46%,#100916f5 100%)!important}
.halloween .hero-inner{padding-top:310px!important}
.halloween .hero-topline{flex-wrap:wrap;gap:12px}
.halloween-label{display:inline-flex;align-items:center;width:fit-content;gap:8px;padding:9px 14px;border:1px solid #ffa75a50;border-radius:100px;background:#251326e8;color:#ffd0a7;font-size:11px;font-weight:650;letter-spacing:.035em}
.halloween-label:before{content:'✦';color:#ff9a49}
.halloween main>.halloween-label{margin:20px 0}
.halloween .brand img{filter:drop-shadow(0 0 8px #cb59fa50);object-fit:contain}
.halloween .resource-links>a,.halloween .admin-content,.halloween .admin-gate{border-color:#d99a6433}
.halloween .resource-links>a:before{background:linear-gradient(90deg,transparent,#ed9b65,transparent)}
.halloween .section-title,.halloween .eyebrow{color:#e6b8ff}
@media(max-width:650px){.halloween .hero-inner{padding-top:215px!important}.halloween .hero-image{object-position:center top}.halloween-label{font-size:10px;padding:8px 11px}}

/* Complete seasonal interface. Every rule expires with the Halloween class. */
html.halloween{--accent:#ff9d50;--accent-soft:#ff96321c;--ink:#fff3e5;--muted:#c4b4c8;--line:#ff9d502b;--surface:#211329;--dark:#110b18}
.halloween body{background:#100a16!important;color:#fff3e5}
.halloween body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 0 60%,#cc501817,transparent 48%),radial-gradient(ellipse at 100% 20%,#8425bb20,transparent 48%)}
.halloween :is(.site-header,.admin-header){background:#150c1af5!important;border-bottom:1px solid #ff963244;box-shadow:0 6px 30px #0004}
.halloween .brand-rp{color:#ffab63}.halloween .brand img{width:56px;height:56px}
.halloween .site-nav a{color:#d7c2dc}.halloween .site-nav a:hover,.halloween .site-nav a[aria-current=page]{background:#ff983219;color:#ffba7d;border-radius:10px}
.halloween .site-nav .nav-join,.halloween .button-primary{background:linear-gradient(110deg,#ff8b32,#ffbc73)!important;color:#2e1107!important;box-shadow:0 5px 24px #ff7b3226;border:1px solid #ffbc7360!important}
.halloween .button-primary:hover,.halloween .nav-join:hover{background:linear-gradient(110deg,#ffa450,#ffd09b)!important;box-shadow:0 8px 32px #ff813545}
.halloween :is(.button-outline,.button-ghost,.hero-secondary,.icon-button){border-color:#ffad5b45!important;color:#ffd0a4;background-color:#31162960}
.halloween :is(h1,h2,h3){color:#fff0df}.halloween :is(.page-title,.home-intro h2,.globe-copy h2){letter-spacing:-.035em}
.halloween :is(.eyebrow,.footer-label,.sidebar-label,.rulebook-overline,.admin-kicker){color:#ffad65!important;letter-spacing:.15em}
.halloween :is(.page-emblem,.resource-links>a>.icon:first-child){color:#ffae65!important;background:#ff8b3215!important;border-color:#ff9a4545!important}
.halloween :is(.page-intro,.home-resources,.globe-section){position:relative}
.halloween .page-intro{padding-top:58px;padding-bottom:42px;border-bottom:1px solid #ffad5b25;background:radial-gradient(ellipse at 90% 20%,#7d2ead20,transparent 65%);border-radius:0 0 24px 24px}
.halloween :is(.home-intro h2,.page-title):after{content:' ✦';color:#ff9d50;font-size:.65em;vertical-align:middle}
.halloween .home-resources .resource-links>a{background:linear-gradient(140deg,#351727ee,#1b1027ee)!important;border:1px solid #ff9d503d;box-shadow:0 12px 32px #0002}
.halloween .home-resources .resource-links>a:hover{border-color:#ffad6380;box-shadow:0 14px 40px #b95b2525;transform:translateY(-4px)}
.halloween .home-resources .resource-links h3{color:#ffe2c3}.halloween .home-resources .resource-links p{color:#cbb8cf}
.halloween .resource-arrow{color:#ffb778!important;border-color:#ffb77845!important}
.halloween :is(.wiki-card,.faq-item,.rulebook-panel,.connection-panel,.discord-widget,.shop-information,.admin-content,.admin-gate){background:linear-gradient(135deg,#251328f5,#160f21f5)!important;border:1px solid #d47d4240!important;box-shadow:0 12px 36px #0002;border-radius:16px}
.halloween :is(.wiki-sidebar,.rulebook-sidebar,.sidebar-help,.help-band,.manual-connection,.admin-tabs){background:#211225ed!important;border-color:#ff9c4530!important;border-radius:14px}
.halloween :is(.wiki-card summary,.faq-item summary){color:#fce6d3}.halloween :is(.wiki-card[open],.faq-item[open]){border-color:#ff9a4570!important}
.halloween :is(.filter-tab.is-active,.admin-tabs>button[aria-selected=true],.admin-record[aria-current=true]){background:#ff93351c!important;color:#ffbd83!important;border-color:#ff9d5040;box-shadow:inset 3px 0 #ff9d50}
.halloween :is(.wiki-tag,.shop-provider){background:#ff9d5015;color:#ffbd88;border-color:#ff9d5038}
.halloween :is(.search-field,.rulebook-search){border-color:#d68f504a;background:#140d1b}
.halloween :is(input,textarea,select){color:#ffefdf!important;background-color:#130d1c!important;border-color:#b4805355!important;caret-color:#ffad65}
.halloween :is(input,textarea,select):focus{outline-color:#ffad6560!important;border-color:#ffad65!important}
.halloween :is(a,button,input,textarea,select):focus-visible{outline:2px solid #ffc38d;outline-offset:4px}
.halloween :is(.admin-field>span,.admin-editor-heading h3){color:#ffe0c5}.halloween .admin-toolbar{border-color:#ff9c4528}
.halloween :is(.site-footer,footer){position:relative;background:linear-gradient(180deg,#180e20e8,#100a16)!important;border-top:1px solid #ff9d5040}
.halloween .footer-links a:hover{color:#ffb778}.halloween .footer-bottom{border-color:#ff9d5025}
.halloween .halloween-label{background:#311222;color:#ffd1a7;border-color:#ff9d5060;font-weight:700}
.halloween .halloween-label:before{content:'🎃';font-size:15px}
.halloween main>.halloween-label{display:flex;margin:24px auto 0;max-width:calc(100% - 40px)}
.halloween .hero-topline{display:flex!important;position:relative;z-index:2}.halloween .hero-topline>span:not(.halloween-label){display:none}
.halloween .hero-inner{padding-top:270px!important}.halloween .hero{border:1px solid #ff9d5040}
.halloween .hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,transparent 25%,#15091b55 55%,#15091bee 100%)}
.halloween .hero-bottom{position:relative;z-index:2}.halloween .hero-topline{margin-bottom:24px}
.halloween .page-intro:before,.halloween .home-resources:before{content:"";position:absolute;right:0;top:0;width:140px;height:140px;transform:rotate(90deg);background-image:var(--halloween-web);background-size:contain;pointer-events:none;opacity:.6}
.halloween .gate-icon{color:#ffb574!important;background:#ff94321a!important;border-color:#ff943240!important}
@media(max-width:700px){.halloween .hero-inner{padding-top:185px!important}.halloween .page-intro{padding-top:35px}.halloween .page-intro:before,.halloween .home-resources:before{width:90px;height:90px;opacity:.4}.halloween .brand img{width:44px;height:44px}.halloween .site-nav{background:#1c1026}.halloween .hero-topline{margin-bottom:18px}}

.halloween{--halloween-web:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%22180%22%20height%3D%22180%22%20viewBox%3D%220%200%20180%20180%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23e9b5ff%22%20stroke-opacity%3D%22.35%22%3E%3Cpath%20d%3D%22M0%200L180%200M0%200L166%2069M0%200L127%20127M0%200L69%20166M0%200L0%20180%22/%3E%3Cpath%20d%3D%22M35%200Q27%2011%2032%2013Q20%2020%2025%2025Q11%2027%2013%2032Q0%2029%200%2035M75%200Q59%2024%2069%2029Q43%2043%2053%2053Q24%2059%2029%2069Q0%2062%200%2075M120%200Q94%2039%20111%2046Q69%2069%2085%2085Q39%2094%2046%20111Q0%20100%200%20120M170%200Q133%2055%20157%2065Q98%2098%20120%20120Q55%20133%2065%20157Q0%20141%200%20170%22/%3E%3C/g%3E%3C/svg%3E")}

/* Foreground decorations: entirely click-through and limited to the season. */
.halloween body:before{content:""!important;position:fixed!important;left:-17px!important;bottom:-20px!important;top:auto!important;width:180px!important;height:180px!important;background:url("assets/halloween-pumpkin.svg") center/contain no-repeat!important;opacity:1!important;z-index:40!important;pointer-events:none!important;transform:rotate(-12deg)!important;filter:drop-shadow(0 0 18px #ff7b242b)}
.halloween body:after{content:""!important;position:fixed!important;left:auto!important;right:-17px!important;bottom:-24px!important;top:auto!important;width:155px!important;height:155px!important;background:url("assets/halloween-pumpkin.svg") center/contain no-repeat!important;opacity:1!important;z-index:40!important;pointer-events:none!important;transform:rotate(13deg)!important;filter:drop-shadow(0 0 18px #ff7b242b)}
.halloween :is(.button,.nav-join,.hero-secondary,.icon-button,.filter-tab,.admin-tabs>button){position:relative;isolation:isolate}
.halloween :is(.button,.nav-join,.hero-secondary,.icon-button,.filter-tab,.admin-tabs>button):before{content:"";position:absolute;right:0;top:0;width:35px;height:35px;background:var(--halloween-web) top left/contain no-repeat;transform:rotate(90deg);opacity:.85;pointer-events:none;border-radius:inherit;z-index:0}
.halloween :is(.button-primary,.nav-join):before{filter:brightness(.35);opacity:.65}
.halloween .icon-button:before{width:20px;height:20px;opacity:.6}
@media(max-width:700px){.halloween body:before{width:80px!important;height:80px!important;left:-20px!important;bottom:-20px!important;opacity:.85!important}.halloween body:after{width:65px!important;height:65px!important;right:-18px!important;bottom:-18px!important;opacity:.8!important}.halloween :is(.button,.nav-join,.hero-secondary):before{width:28px;height:28px}}
@media print{.halloween body:before,.halloween body:after{display:none!important}}

@media(min-width:701px){.halloween body:before{width:125px!important;height:125px!important;left:-48px!important;bottom:-38px!important}.halloween body:after{width:110px!important;height:110px!important;right:-40px!important;bottom:-32px!important}}
