/* Halloween is an opt-in visual style. Other presets retain their own art and tokens. */
:root[data-style=halloween]{color-scheme:dark;--border:#b48af23d;--separator:#b48af226;--halloween-gold:#ffc36a;--calendar-schedule:#ff963c;--calendar-elective:#b48af2;--calendar-plan:#ffc36a;--calendar-session:#eb91bd}
[data-style=halloween]:not(.invest-route) body{background:radial-gradient(ellipse at 95% 0,#3b1643 0,transparent 42%),linear-gradient(160deg,#150a25,#10081d 72%);background-attachment:fixed}
[data-style=halloween]:not(.invest-route) .aurora{display:block;opacity:1;background:radial-gradient(ellipse at 90% 0,#6939b52e,transparent 48%),radial-gradient(ellipse at 0 95%,#ff772e0c,transparent 45%)}
[data-style=halloween]:not(.invest-route) .aurora:before,[data-style=halloween]:not(.invest-route) .aurora:after{display:none}
[data-style=halloween]:not(.invest-route) .app{position:relative;isolation:isolate}
[data-style=halloween]:not(.invest-route) .app:before{content:'';position:absolute;z-index:-1;pointer-events:none;inset:48px 0 auto;height:310px;background:url('/app/assets/halloween/night-campus.svg') no-repeat right -46px top / 570px auto;mask-image:linear-gradient(90deg,transparent 10%,#000 68%);-webkit-mask-image:linear-gradient(90deg,transparent 10%,#000 68%)}
[data-style=halloween]:not(.invest-route) .app:after{content:'';position:fixed;pointer-events:none;z-index:-1;inset:auto 0 0;height:145px;background:url('/app/assets/halloween/leaves.svg') no-repeat left bottom / 112px auto,url('/app/assets/halloween/leaves.svg') no-repeat right bottom / 110px auto;opacity:.8}
[data-style=halloween]:not(.invest-route) .topbar{position:relative;z-index:1}
[data-style=halloween]:not(.invest-route) .icon-button{background:linear-gradient(145deg,#382052b8,#211033d9);border-color:#b48af23f;color:#d6b8fa;box-shadow:inset 0 1px 0 #ffffff0a}
[data-style=halloween]:not(.invest-route) h1,[data-style=halloween]:not(.invest-route) h2,[data-style=halloween]:not(.invest-route) h3{color:#fff8ff}
[data-style=halloween]:not(.invest-route) .section-head>p{color:#d4c1e8}
[data-style=halloween]:not(.invest-route) .primary:not(.danger){background:linear-gradient(120deg,#ff6d2d,#ff963c);color:#1d0d21;border-color:#ffc36a8a;box-shadow:0 5px 22px #ff772e27;font-weight:700}
[data-style=halloween]:not(.invest-route) .segments{background:#1d1035d9;border-color:#b48af238;box-shadow:inset 0 1px 0 #ffffff05}
[data-style=halloween]:not(.invest-route) .segments button{color:#ded0ef}
[data-style=halloween]:not(.invest-route) .segments button.selected{color:#210e24;background:linear-gradient(130deg,#ff772e,#ff963c);box-shadow:0 3px 16px #ff772e35}
[data-style=halloween]:not(.invest-route) .date-strip .selected{color:#fff8ff;background:linear-gradient(145deg,#9a3b2180,#ff772e2e);box-shadow:inset 0 0 0 1px #ff963c,0 3px 18px #ff772e20}
[data-style=halloween]:not(.invest-route) .date-strip .selected small{color:#ffc36a}
[data-style=halloween]:not(.invest-route) .summary-strip{background:linear-gradient(135deg,#281541d9,#1d1035e8);border:1px solid #b48af238;border-radius:18px;padding:16px;margin-top:8px;box-shadow:inset 0 1px 0 #ffffff08}
[data-style=halloween]:not(.invest-route) .summary-strip>div{border-color:#b48af22e}
[data-style=halloween]:not(.invest-route) .summary-strip strong{color:#efdbff}
[data-style=halloween]:not(.invest-route) .timeline{gap:12px}
[data-style=halloween]:not(.invest-route) .timeline:before{background:linear-gradient(#ff963c,#6939b5 85%)}
[data-style=halloween]:not(.invest-route) .timeline>.lesson,[data-style=halloween]:not(.invest-route) .week-day{border:1px solid #b48af238;border-radius:18px;background:linear-gradient(135deg,#281541e8,#1d1035e8)}
[data-style=halloween]:not(.invest-route) .timeline>.lesson{padding:17px 16px}
[data-style=halloween]:not(.invest-route) .timeline>.lesson h3{font-size:18px;line-height:1.4}
[data-style=halloween]:not(.invest-route) .timeline>.lesson .time{color:#ffad59;font-weight:650}
[data-style=halloween]:not(.invest-route) .timeline>.lesson:before{border-radius:6px;background:#b48af2;box-shadow:0 0 0 4px #190d29}
[data-style=halloween]:not(.invest-route) .timeline>.lesson.active{border:1px solid #ff963c;background:linear-gradient(120deg,#4b2140,#281541);box-shadow:0 0 20px #ff772e15}
[data-style=halloween]:not(.invest-route) .timeline>.lesson.active:before{background:#ff963c}
[data-style=halloween]:not(.invest-route) .timeline>.lesson.past{opacity:1}
[data-style=halloween]:not(.invest-route) .lesson .meta{color:#d0bee5}
[data-style=halloween]:not(.invest-route) .lesson .meta:first-of-type{color:#caa5ff}
[data-style=halloween]:not(.invest-route) .lesson[data-lesson-type=seminar] .meta:first-of-type{color:#ffc36a}
[data-style=halloween]:not(.invest-route) .lesson[data-lesson-type=practice] .meta:first-of-type{color:#dfa8d8}
[data-style=halloween]:not(.invest-route) .week-day{padding:0 12px}
[data-style=halloween]:not(.invest-route) .week-day summary{color:#ffad59}
[data-style=halloween]:not(.invest-route) .hero.live-hero:before{background:radial-gradient(ellipse at 95% 8%,#ff772e0d,transparent 70%)}
[data-style=halloween]:not(.invest-route) .hero-instrument{border-color:#b48af247;background:linear-gradient(145deg,#39204be0,#231039ed);box-shadow:inset 0 1px 0 #fff1,0 8px 26px #0002}
[data-style=halloween]:not(.invest-route) .hero-instrument:after{display:none}
[data-style=halloween]:not(.invest-route) .card,[data-style=halloween]:not(.invest-route) .secondary,[data-style=halloween]:not(.invest-route) .settings-section{border-color:#b48af238}
[data-style=halloween]:not(.invest-route) .menu-row,[data-style=halloween]:not(.invest-route) .quick-actions .menu-row,[data-style=halloween]:not(.invest-route) .settings-section .menu-row{background:linear-gradient(135deg,#281541ed,#1d1035ed);border:1px solid #b48af238;border-radius:17px;padding:15px;gap:12px;min-height:76px}
[data-style=halloween]:not(.invest-route) .quick-actions{display:grid;gap:10px;border:0}
[data-style=halloween]:not(.invest-route) .menu-row>.icon:last-child{color:#ffad59}
[data-style=halloween]:not(.invest-route) .menu-icon,[data-style=halloween]:not(.invest-route) .quick-actions .menu-icon{color:#ffb65d;background:linear-gradient(140deg,#5d2b4a,#402049);border:1px solid #ff963c38;border-radius:12px;width:40px;height:40px}
[data-style=halloween]:not(.invest-route) .menu-row:has(svg.icon)+.menu-row{scroll-margin-bottom:110px}
[data-style=halloween]:not(.invest-route) .settings-section{padding-block:20px}
[data-style=halloween]:not(.invest-route) .style-feature{border:1px solid #b48af240;background:linear-gradient(120deg,#281541,#1d1035);border-radius:18px;box-shadow:inset 0 1px 0 #ffffff05}
[data-style=halloween]:not(.invest-route) .style-mini{background:#1d1035 url('/app/assets/halloween/preview.svg') center / cover}
[data-style=halloween]:not(.invest-route) .style-mini i{display:none}
[data-style=halloween]:not(.invest-route) .style-mini span{background:#1d1035cf;border-radius:8px;padding:2px 5px;color:#ffc36a;font-size:9px}
[data-style=halloween]:not(.invest-route) .style-feature>.muted{color:#d1b9e8}
.style-tile[data-style=halloween]:not(.invest-route) .style-scene{background:#12081f url('/app/assets/halloween/preview.svg') center / cover;border-color:#6939b569}
.style-tile[data-style=halloween]:not(.invest-route) .style-scene i{display:none}
.style-tile[data-style=halloween]:not(.invest-route) .style-scene:after{content:'';position:absolute;left:10px;top:10px;width:48px;height:24px;border-radius:5px;background:linear-gradient(#c7b4de 0 0) 8px 13px / 26px 2px no-repeat,linear-gradient(#ff963c 0 0) 8px 6px / 20px 2px no-repeat,#281541e8;border:1px solid #b48af263}
.style-tile[data-style=halloween].selected{outline:0;border-color:#ff963c;box-shadow:0 0 0 2px #ff772e,0 0 25px #ff772e2e;background:linear-gradient(145deg,#402043,#5d2b35)}
.style-description{font-size:10px;line-height:1.5;color:#d9c5ed;padding:0 12px 12px;display:block}
[data-style=halloween]:not(.invest-route) .preview-card{background:linear-gradient(145deg,#2c1748,#1b0d2e);border-color:#b48af242}
[data-style=halloween]:not(.invest-route) .preview-card:after{background:url('/app/assets/halloween/night-campus.svg') right / cover;border:0;outline:0;inset:0;width:auto;height:auto;opacity:.45;border-radius:0}
[data-style=halloween]:not(.invest-route) .bottom-nav{background:linear-gradient(145deg,#29183beF,#170d29f2);border-color:#b48af24a;box-shadow:inset 0 1px 0 #ffffff12,0 9px 28px #08030fc9}
[data-style=halloween]:not(.invest-route) .bottom-nav:before{background:linear-gradient(145deg,#6d34428c,#ff772e26);border-color:#ff963c88;box-shadow:inset 0 1px 0 #ffc36a38,0 0 16px #ff772e12}
[data-style=halloween]:not(.invest-route) .bottom-nav button{color:#c7b4de}
[data-style=halloween]:not(.invest-route) .bottom-nav button.selected,[data-style=halloween]:not(.invest-route) .bottom-nav .selected .icon{color:#ffad59}
[data-style=halloween]:not(.invest-route) dialog{background:linear-gradient(160deg,#281541,#180d29);border-color:#b48af247;color:#fff8ff}
[data-style=halloween]:not(.invest-route) dialog::backdrop{background:#0b0418b3}
[data-style=halloween]:not(.invest-route) input,[data-style=halloween]:not(.invest-route) select,[data-style=halloween]:not(.invest-route) textarea{color-scheme:dark;background:#1d1035;border-color:#b48af247}
[data-style=halloween]:not(.invest-route) .calendar-grid .selected{background:#ff772e;color:#210d22;box-shadow:0 0 12px #ff772e3d}
[data-style=halloween]:not(.invest-route) .dots{color:#ff963c}
[data-style=halloween]:not(.invest-route) .room-status.free{background:#6939b536;color:#e2c5ff}
[data-style=halloween]:not(.invest-route) .room-status.busy{background:#ff772e1c;color:#ffc36a}
[data-style=halloween]:not(.invest-route) .room-card{background:linear-gradient(145deg,#281541,#1d1035)}
[data-style=halloween]:not(.invest-route) .empty{background:linear-gradient(135deg,#281541bd,#1d1035bd);border-radius:20px}
/* Invest Club keeps its own editorial palette, logos, images and content. */
[data-style=halloween].invest-route .app:after{display:none}
@media(min-width:900px){
 [data-style=halloween]:not(.invest-route) .app:before{height:380px;background-size:820px auto;background-position:right 0 top;mask-image:linear-gradient(90deg,transparent 35%,#000 85%);-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 85%)}
 [data-style=halloween]:not(.invest-route) .app:after{background-size:160px auto,150px auto;height:210px}
 [data-style=halloween]:not(.invest-route) .week-grid{gap:12px}
 [data-style=halloween]:not(.invest-route) .week-day .timeline>.lesson{padding:13px 10px}
 [data-style=halloween]:not(.invest-route) .week-day .timeline>.lesson h3{font-size:14px}
}
@media(prefers-reduced-motion:reduce){[data-style=halloween]:not(.invest-route) *,[data-style=halloween]:not(.invest-route) *:before,[data-style=halloween]:not(.invest-route) *:after{animation:none!important}}
[data-style=halloween]:not(.invest-route) .menu-row .arrow{color:#ffad59}
[data-style=halloween]:not(.invest-route) .menu-row[data-menu=party]{position:relative;overflow:hidden;padding-inline-end:80px}
[data-style=halloween]:not(.invest-route) .menu-row[data-menu=party]:after{content:'';position:absolute;pointer-events:none;right:28px;bottom:-5px;width:73px;height:64px;background:url('/app/assets/halloween/pumpkin.svg') center / contain no-repeat}
[data-style=halloween]:not(.invest-route)[data-screen=settings] .topbar:after,[data-style=halloween]:not(.invest-route)[data-screen=appearance] .topbar:after{content:'';position:absolute;pointer-events:none;top:70px;right:5px;width:42px;height:100px;background:url('/app/assets/halloween/spider.svg') center / contain no-repeat}
[data-style=halloween]:not(.invest-route) .settings-emblem{display:none}
/* Keep the sample within the thumbnail rather than under its caption. */
.style-tile[data-style=halloween] .style-scene{position:relative;overflow:hidden}
[data-style=halloween]:not(.invest-route) .hero.live-hero h2{font-size:clamp(24px,6vw,40px);line-height:1.16;letter-spacing:-.7px}
