/* Halloween: warm copper, parchment and midnight plum; workflow colors stay intact. */
body.season-halloween,body.dark.office-season-halloween{--bg:#15121b;--card:#211d29;--white:#211d29;--card2:#2a2533;--nav:#1b1722;--blue:#ffb56b;--blue2:#e58c43;--sky:#ffbd80;--text:#faf2e8;--sub:#c7b6cf;--sub2:#aa94b4;--rim:#3d3348;--rim2:#635070;--chat-them:#302839;--hall-ink:#24180e;--hall-button:linear-gradient(135deg,#ffc386,#ee9c51);--hall-glow:rgba(227,137,61,.08);--hall-line:rgba(233,174,112,.23)}
body.light.season-halloween,body.office-season-halloween:not(.dark){--bg:#f4ede5;--card:#fffaf4;--white:#fffaf4;--card2:#f1e8de;--nav:#fffaf4;--blue:#994009;--blue2:#b85b18;--sky:#854514;--text:#302134;--sub:#69556e;--sub2:#75617a;--rim:#e1d3c6;--rim2:#c7b19d;--chat-them:#f1e6dc;--hall-ink:#fffaf4;--hall-button:linear-gradient(135deg,#a4480b,#8c3709);--hall-glow:rgba(147,77,22,.07);--hall-line:rgba(145,75,26,.24)}
body:is(.season-halloween,.office-season-halloween){background:var(--bg)}
body:is(.season-halloween,.office-season-halloween) :is(#app-shell,#office-app-shell,#lab-board){background:var(--bg)}
body:is(.season-halloween,.office-season-halloween) :is(.scroll,.office-scroll,#lab-board-grid){background-image:url('./halloween-scene.svg'),radial-gradient(ellipse at 85% 0%,var(--hall-glow),transparent 60%);background-size:cover,100% 100%;background-position:center top;background-attachment:local}
body:is(.season-halloween,.office-season-halloween) :is(.topbar,.nav,.office-nav,.lb-header){background:var(--nav);border-color:var(--hall-line);box-shadow:0 6px 28px rgba(30,18,37,.08)}
body:is(.season-halloween,.office-season-halloween) .topbar{position:relative}
body:is(.season-halloween,.office-season-halloween) .topbar::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#d98d45 20%,#8a6696 65%,transparent);pointer-events:none}
body:is(.season-halloween,.office-season-halloween) :is(.brand-sub,.bsub)::after{content:"HALLOWEEN";display:inline-block;margin-left:9px;padding:2px 6px;border:1px solid var(--hall-line);border-radius:4px;font:700 8px/1.4 var(--fm);letter-spacing:.08em;color:var(--blue);vertical-align:1px}
body:is(.season-halloween,.office-season-halloween) :is(.card,.lb-col,.lb-card,.sh,.office-appearance){border-color:var(--rim);box-shadow:0 7px 24px rgba(30,18,37,.045)}
body:is(.season-halloween,.office-season-halloween) :is(.btn-blue,.ac-btn,.submit-btn,.chat-send,.team-message-compose button,.sh-status-action){background:var(--hall-button);color:var(--hall-ink);border-color:transparent;box-shadow:0 4px 12px var(--hall-glow);animation:none!important;text-shadow:none}
body:is(.season-halloween,.office-season-halloween) :is(.btn-blue,.ac-btn,.submit-btn,.chat-send,.sh-status-action):hover{filter:brightness(1.06)}
body:is(.season-halloween,.office-season-halloween) :is(.bmark,.brand-mark){background:var(--card2);border:1px solid var(--hall-line);box-shadow:none;animation:none!important}
body:is(.season-halloween,.office-season-halloween) .pill{text-shadow:none!important}
body:is(.season-halloween,.office-season-halloween) :is(input,select,textarea){border-color:var(--rim2)}
body:is(.season-halloween,.office-season-halloween) :is(button,input,select,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
body:is(.season-halloween,.office-season-halloween) .theme-chip[data-theme="halloween"].on{background:var(--card2);border-color:var(--blue);color:var(--blue);box-shadow:none}
body.season-halloween [data-theme-owner="halloween"]{display:none!important}
body:is(.season-halloween,.office-season-halloween) .page-h1::after{background:linear-gradient(90deg,#b86627,#91749c,transparent);width:80px}
body.season-halloween #theme-knob{box-shadow:none!important}
@media(max-width:640px){body:is(.season-halloween,.office-season-halloween) :is(.brand-sub,.bsub)::after{display:none}body:is(.season-halloween,.office-season-halloween) :is(.scroll,.office-scroll,#lab-board-grid){background-size:auto 100%,100% 100%;background-position:right top}}
@media(prefers-reduced-motion:reduce){body:is(.season-halloween,.office-season-halloween) *,body:is(.season-halloween,.office-season-halloween) *::after{animation:none!important;scroll-behavior:auto!important}}
@media print{body:is(.season-halloween,.office-season-halloween) :is(.scroll,.office-scroll,#lab-board-grid){background-image:none!important}body:is(.season-halloween,.office-season-halloween) .topbar::after{display:none}}

/* Neutral controls follow the theme; office-route and workflow badges retain their own colors. */
body.office-season-halloween .qfilt.on:not(#qf-roseburg):not(#qf-coosbay){background:var(--hall-button)!important;color:var(--hall-ink)!important;border-color:var(--blue)!important}
body.office-season-halloween :is(.section-lbl,.otab.on,.office-nb.on){color:var(--blue)!important}
body.office-season-halloween :is(.fi,.search-inp){background:var(--card2)!important;color:var(--text)!important}
body.office-season-halloween :is(.card-hd-ico,.app-ico,.order-step.on,.office-nb.on){background:var(--hall-glow)}
body.office-season-halloween .app-ico{color:var(--blue)}
body.office-season-halloween .btn-blue{background:var(--hall-button)!important;color:var(--hall-ink)!important}
body:is(.season-halloween,.office-season-halloween) .lb-card{border-left-color:var(--blue)}
body:is(.season-halloween,.office-season-halloween) :is(.lb-title,.page-h1)::before{content:"";display:inline-block;vertical-align:-3px;margin-right:8px;width:24px;height:24px;background:var(--blue);mask:url('./halloween-pumpkin.svg') center/contain no-repeat;-webkit-mask:url('./halloween-pumpkin.svg') center/contain no-repeat}

/* Friendly ghosts occupy headings and the background, never interactive overlays. */
body:is(.season-halloween,.office-season-halloween) :is(.lb-title,.page-h1)::before{width:32px;height:36px;vertical-align:-9px;background:url('./halloween-ghost.svg') center/contain no-repeat;mask:none;-webkit-mask:none;pointer-events:none;animation:hall-ghost-bob 4s ease-in-out infinite}
body:is(.season-halloween,.office-season-halloween) :is(.brand-sub,.bsub)::after{padding-left:25px;background:url('./halloween-ghost.svg') 3px center/18px 21px no-repeat}
@keyframes hall-ghost-bob{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(5deg)}}
@media(prefers-reduced-motion:reduce){body:is(.season-halloween,.office-season-halloween) :is(.lb-title,.page-h1)::before{animation:none!important}}
@media print{body:is(.season-halloween,.office-season-halloween) :is(.lb-title,.page-h1)::before,body:is(.season-halloween,.office-season-halloween) :is(.brand-sub,.bsub)::after{display:none!important}}

/* Office Halloween 159: decorations stay behind opaque working surfaces. */
body.office-season-halloween .office-scroll{position:relative;isolation:isolate}
body.office-season-halloween .office-scroll>.main-wrap{position:relative;z-index:1}
body.office-season-halloween .office-theme-layer[data-office-theme-owner="halloween"]{display:block!important;z-index:0;inset:76px 0 68px;pointer-events:none;user-select:none;opacity:1}
body.office-season-halloween .office-spirit{width:68px;height:78px;background:url('./halloween-ghost.svg') center/contain no-repeat;border-radius:0;opacity:.75;filter:drop-shadow(0 5px 8px rgba(75,40,94,.12));animation:officeGhostFloat var(--float-time,12s) ease-in-out infinite;animation-delay:var(--float-delay,0s)}
body.office-season-halloween .office-spirit::before,body.office-season-halloween .office-spirit::after{display:none}
body.office-season-halloween .office-spirit:nth-of-type(even){width:52px;height:60px}
body.office-season-halloween .office-haunt-web{top:0;width:155px;height:155px;border-radius:0;background:url('./halloween-web.svg') center/contain no-repeat;opacity:.6}
body.office-season-halloween .office-haunt-web.left{left:0}
body.office-season-halloween .office-haunt-web.right{right:0;transform:scaleX(-1)}
body.office-season-halloween .office-haunt-moon{right:2%;top:12%;width:105px;height:105px;opacity:.3;background:radial-gradient(circle at 38% 38%,#ffe9ac,#edb564);box-shadow:inset -20px 4px 0 rgba(68,39,78,.25),0 0 65px rgba(241,173,88,.22)}
.office-fall-leaf{position:absolute;top:-60px;width:26px;height:32px;background:url('./halloween-leaf.svg') center/contain no-repeat;animation:officeAutumnDrift var(--fall-time,26s) linear infinite;animation-delay:var(--fall-delay,0s);opacity:0}
.office-fall-leaf:nth-child(3n){filter:hue-rotate(-22deg);width:19px;height:25px}
.office-fall-leaf:nth-child(3n+1){filter:hue-rotate(15deg)}
.office-pumpkin-patch{position:absolute;bottom:7px;left:16px;display:flex;gap:8px;align-items:flex-end;opacity:.65}
.office-pumpkin-patch.right{left:auto;right:16px;transform:scaleX(-1)}
.office-pumpkin-patch i{display:block;width:42px;height:42px;background:url('./halloween-pumpkin.svg') center/contain no-repeat}
.office-pumpkin-patch i:nth-child(2){width:61px;height:61px}
.office-pumpkin-patch i:nth-child(3){width:30px;height:30px}
.office-halloween-banner{position:relative;display:flex;align-items:center;gap:13px;min-height:76px;margin:0 0 20px;padding:12px 24px;border:1px solid var(--hall-line);border-radius:18px;background:linear-gradient(115deg,var(--white),var(--card2));overflow:hidden;pointer-events:none}
.office-halloween-banner::before{content:"";flex:none;width:45px;height:50px;background:url('./halloween-ghost.svg') center/contain no-repeat;animation:hall-ghost-bob 4.5s ease-in-out infinite}
.office-halloween-banner strong{display:block;font:800 19px/1.2 var(--f);color:var(--text);letter-spacing:-.3px}
.office-halloween-banner span{display:block;margin-top:4px;font:600 11px/1.4 var(--f);color:var(--sub)}
.office-halloween-banner::after{content:"";margin-left:auto;flex:none;width:100px;height:52px;background:url('./halloween-pumpkin.svg') left bottom/48px 48px no-repeat,url('./halloween-leaf.svg') right center/28px 35px no-repeat;transform:rotate(-5deg)}
@keyframes officeGhostFloat{0%,100%{transform:translate3d(-6px,6px,0) rotate(-7deg)}40%{transform:translate3d(15px,-25px,0) rotate(6deg)}70%{transform:translate3d(-10px,-12px,0) rotate(-3deg)}}
@keyframes officeAutumnDrift{0%{transform:translate3d(0,-55px,0) rotate(-25deg);opacity:0}8%,85%{opacity:.5}100%{transform:translate3d(var(--leaf-drift,40px),calc(100vh - 90px),0) rotate(220deg);opacity:0}}
@media(max-width:640px){body.office-season-halloween .office-theme-layer[data-office-theme-owner="halloween"]{inset:65px 0 68px}body.office-season-halloween .office-spirit{width:39px;height:46px;opacity:.45}body.office-season-halloween .office-haunt-web{width:85px;height:85px;opacity:.4}body.office-season-halloween .office-haunt-moon{width:65px;height:65px}.office-fall-leaf:nth-child(even){display:none}.office-pumpkin-patch{display:none}.office-halloween-banner{padding:10px 14px;min-height:70px;margin-bottom:16px;gap:10px}.office-halloween-banner strong{font-size:17px}.office-halloween-banner::after{width:38px;background-size:36px 36px,0 0}.office-halloween-banner::before{width:34px;height:42px}}
@media(prefers-reduced-motion:reduce){body.office-season-halloween .office-spirit,.office-fall-leaf,.office-halloween-banner::before{animation:none!important}.office-fall-leaf{display:none}body.office-season-halloween .office-spirit{opacity:.5}}
@media print{body.office-season-halloween .office-theme-layer[data-office-theme-owner="halloween"],.office-halloween-banner{display:none!important}}
