@font-face{font-family:Spooky;src:url('/assets/spooky-warp-display-complete.woff2') format('woff2');font-display:swap}
:root{--orange:#ff6f00;--peach:#fa9f74;--green:#7ac122;--purple:#ba96e0;--deep-purple:#8f40c5;--u:calc(min(100vw,1920px)/1920);color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#000;color:#fff;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;max-width:1920px;margin-inline:auto;overflow-x:clip}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a,input,textarea,summary{outline-offset:6px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--purple)}button{border:0;background:none;color:inherit;padding:0}a{color:inherit;text-decoration:none}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}p{font-size:max(16px,calc(24*var(--u)));line-height:1.22;font-weight:400}h3{font-size:max(17px,calc(30*var(--u)));line-height:1.35;font-weight:400}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}.skip-link{position:fixed;z-index:100;top:10px;left:10px;transform:translateY(-180%);padding:16px;background:var(--orange);color:black}.skip-link:focus{transform:none}
.scene{position:relative;height:calc(var(--h)*var(--u));isolation:isolate}.placed{position:absolute;left:calc(var(--x)*var(--u));top:calc(var(--y)*var(--u));width:calc(var(--w)*var(--u))}.artwork{line-height:0}.site-header{position:absolute;top:0;left:max(0px,calc((100vw - 1920px)/2));width:min(100%,1920px);z-index:10;display:flex;align-items:flex-start;justify-content:space-between;padding:calc(30*var(--u)) calc(48*var(--u)) 0}.brand{width:calc(165*var(--u));transition:transform .4s}.brand:hover{transform:rotate(-6deg)}.site-header nav{display:flex;align-items:center;gap:calc(76*var(--u));padding-top:calc(34*var(--u))}.site-header nav a{font-size:max(14px,calc(24*var(--u)));line-height:1.3;position:relative;padding-bottom:8px;transition:color .25s}.site-header nav a:after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover,.site-header nav a.active{color:var(--orange)}.site-header nav a:hover:after,.site-header nav a.active:after{transform:scaleX(1)}
.hero{overflow:hidden}.hero-art{transform-origin:50% 35%;will-change:transform;animation:hero-arrive 1.5s cubic-bezier(.2,.7,.2,1) both}@keyframes hero-arrive{from{opacity:0;transform:translateY(25px) scale(.975);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.intro-lead{font-size:max(18px,calc(30*var(--u)));margin-bottom:calc(14*var(--u))}.intro-actions{display:flex;gap:calc(46*var(--u))}.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;height:calc(74*var(--u));width:calc(264*var(--u));padding:10px 15px;font-size:max(14px,calc(24*var(--u)));line-height:1.1;text-align:center;position:relative;overflow:hidden;transition:background-color .25s,color .25s,transform .3s;white-space:nowrap}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0) scale(.98)}.button-orange{background:var(--orange);color:white}.button-orange:hover{background:#ff922f}.button-outline{border:1px solid var(--orange);color:white}.button-outline:hover{background:var(--orange)}.button-purple{background:var(--purple);color:white}.button-purple:hover{background:#cbb0eb}.button.placed{position:absolute}.intro-building{transform-origin:center bottom;transition:filter .5s}.intro-building:hover{filter:drop-shadow(0 0 10px #ff700035)}
.reveal{opacity:1}.motion-ready .reveal:not(.revealed){opacity:0;transform:translateY(22px)}.reveal{transition:opacity .8s cubic-bezier(.2,.65,.3,1),transform 1s cubic-bezier(.2,.65,.3,1)}.reveal.revealed{opacity:1;transform:translateY(0)}.date-tab{transition:transform .5s cubic-bezier(.22,1,.36,1),filter .4s;transform-origin:center 70%;border-radius:20%}.date-tab img{transition:filter .35s}.date-tab[aria-selected=false]:hover{transform:translateY(-10px) rotate(-3deg);filter:brightness(1.6)}.date-tab[aria-selected=true]:hover{transform:translateY(-8px) rotate(2deg)}.date-tab[aria-selected=true]{filter:drop-shadow(0 0 22px #7bc12312)}.date-tab.tab-pop{animation:tab-pop .55s cubic-bezier(.2,.65,.3,1)}@keyframes tab-pop{0%{transform:scale(1)}45%{transform:scale(1.07) rotate(-3deg)}100%{transform:scale(1)}}.event-panel:focus-visible{outline:none}.event-photo{overflow:hidden}.event-photo img{width:100%;height:100%;object-fit:contain}.event-date,.event-tagline{color:var(--purple)}.event-tagline{font-size:max(19px,calc(30*var(--u)));line-height:1.2}.event-heading #event-heading-text{font-family:Spooky,Arial,sans-serif;font-size:calc(112*var(--u));line-height:1.05;color:var(--purple)}.event-more{height:calc(74*var(--u))}.event-panel.is-changing .event-photo,.event-panel.is-changing .event-date,.event-panel.is-changing .event-heading,.event-panel.is-changing .event-tagline,.event-panel.is-changing .event-description{animation:panel-in .48s both}@keyframes panel-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.gallery{overflow:hidden;touch-action:pan-y}.gallery-image{display:block;width:100%;height:100%;overflow:hidden}.gallery-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.65,.3,1),opacity .3s}.gallery-image:hover img{transform:scale(1.018)}.gallery-image img.detail{object-fit:cover;transform:scale(1.3)}.gallery-image:hover img.detail{transform:scale(1.33)}.gallery-image img.changing{animation:photo-in .6s both}@keyframes photo-in{from{opacity:.1;filter:blur(4px)}to{opacity:1;filter:blur(0)}}.gallery-arrow{position:absolute;top:50%;width:48px;height:64px;display:grid;place-content:center;font-size:46px;line-height:1;background:#0009;opacity:0;transform:translateY(-50%);transition:opacity .2s,background .2s}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery:hover .gallery-arrow,.gallery:focus-within .gallery-arrow{opacity:1}.gallery-arrow:hover{background:var(--deep-purple)}.photo-caption h3{margin-bottom:0}.gallery-dots{display:flex;justify-content:center;gap:0}.gallery-dots button{width:calc(36*var(--u));min-width:24px;height:32px;display:grid;place-items:center}.gallery-dots button:after{content:'';width:calc(13*var(--u));height:calc(13*var(--u));min-width:7px;min-height:7px;background:var(--deep-purple);border-radius:50%;opacity:.45;transition:transform .3s,opacity .3s}.gallery-dots button[aria-current=true]:after{opacity:1;transform:scale(1.12)}.gallery-dots button:hover:after{opacity:1}
.venue-photo{display:block;transition:filter .4s,transform .5s}.venue-photo:hover{filter:brightness(1.12)}.image-action{position:absolute;bottom:12%;left:24px;display:block;padding:10px 16px;background:var(--orange);color:#000;font-size:14px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}.venue-photo:hover .image-action,.venue-photo:focus-visible .image-action,.venue-maps:hover .image-action,.venue-maps:focus-visible .image-action{opacity:1;transform:none}.venue-info h3{color:var(--peach);margin-bottom:calc(17*var(--u))}.venue-maps{display:block}.venue-maps .image-action{left:50%;bottom:0;transform:translate(-50%,8px)}.venue-maps:hover .image-action,.venue-maps:focus-visible .image-action{transform:translate(-50%,0)}.party-date{display:flex;gap:calc(130*var(--u));font-size:max(16px,calc(24*var(--u)))}.ticket h3{color:#a9d552;margin-bottom:calc(13*var(--u))}.ticket{margin-bottom:calc(33*var(--u))}.ticket:first-child{margin-bottom:calc(53*var(--u))}.ticket p{line-height:1.2}.packages-title{margin-bottom:calc(49*var(--u))}.package h3{color:#4fa600;margin-bottom:calc(13*var(--u))}.package{margin-bottom:calc(38*var(--u))}.package p{line-height:1.2}.alcohol-note{margin-top:calc(135*var(--u))}.party-poster{transition:transform .6s,filter .4s}.party-poster:hover{transform:rotate(1.5deg);filter:brightness(1.15)}.faqs{display:grid;grid-template-columns:repeat(3,1fr);gap:calc(58*var(--u))}.faqs details summary{font-size:max(17px,calc(30*var(--u)));line-height:1.35;color:var(--purple);list-style:none;cursor:pointer;margin-bottom:calc(16*var(--u));transition:color .25s}.faqs summary::-webkit-details-marker{display:none}.faqs summary:hover{color:white}.faqs details div{animation:faq-open .3s ease-out}@keyframes faq-open{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}.faqs details:not([open]) summary{opacity:.75}
.contact-copy p+p{margin-top:calc(27*var(--u))}.field{position:relative;min-height:calc(112.35*var(--u));padding-bottom:calc(28*var(--u))}.field label{position:absolute;left:0;top:0;color:var(--peach);font-size:max(17px,calc(30*var(--u)));pointer-events:none;transition:transform .25s,font-size .25s}.field input,.field textarea{display:block;color:#fff;width:100%;font-size:max(16px,calc(27*var(--u)));min-height:44px;height:calc(65*var(--u));background:transparent;border:0;border-bottom:1px solid #777;resize:none;border-radius:0;padding:calc(20*var(--u)) 0 3px;outline:none}.field textarea{overflow:auto}.field:focus-within label,.field.filled label{font-size:12px;transform:translateY(-10px);color:var(--orange)}.field:focus-within input,.field:focus-within textarea{border-bottom-color:var(--orange)}.contact-form>.button{margin-top:calc(55*var(--u))}.form-status{font-size:14px;line-height:1.35;margin-top:12px;color:var(--peach);max-width:550px}.contact-skeleton{transform-origin:center bottom}.contact-phone{transform-origin:center bottom;transition:transform .5s}.contact-phone:hover{transform:rotate(-1.5deg)}.contact-phone.ringing{animation:phone-ring .6s ease-in-out}@keyframes phone-ring{0%,100%{transform:none}20%,60%{transform:rotate(-2deg)}40%,80%{transform:rotate(2deg)}}.contact:has(.contact-phone:hover) .contact-skeleton{animation:skeleton-rock .8s ease-in-out infinite alternate}@keyframes skeleton-rock{from{transform:rotate(0)}to{transform:rotate(-3deg)}}
.footer{background:var(--purple);color:black}.footer-brand{transition:transform .4s}.footer-brand:hover{transform:rotate(-6deg)}.footer-meta{border-top:1px solid #5e4572;padding-top:calc(18*var(--u));display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;font-size:max(12px,calc(18*var(--u)));line-height:1.35}.footer-meta span:last-child{text-align:right}.footer-meta a{width:fit-content}.footer-meta a:hover{text-decoration:underline}.footer-art{transition:transform .7s}.footer-art:hover{transform:translateY(-6px)}
dialog{color:#fff;border:1px solid #45404c;background:#0a0a0a;overscroll-behavior:contain;padding:0}dialog::backdrop{background:#000d;backdrop-filter:blur(10px)}dialog[open]{animation:dialog-in .3s cubic-bezier(.2,.7,.3,1)}@keyframes dialog-in{from{opacity:0;transform:translateY(15px) scale(.985)}to{opacity:1;transform:none}}body.modal-open{overflow:hidden}.detail-dialog{width:min(650px,calc(100% - 32px));max-height:85dvh;padding:48px}.dialog-close{font-size:32px;width:44px;height:44px;display:grid;place-content:center;line-height:1}.detail-dialog>.dialog-close{position:absolute;right:12px;top:12px}.dialog-close:hover{color:var(--orange)}.detail-dialog h2{font-family:Spooky,Arial,sans-serif;font-size:48px;line-height:1.1;color:var(--purple);margin-bottom:22px}.detail-dialog p{font-size:17px;line-height:1.5;margin-bottom:16px}.detail-dialog .detail-date{color:var(--purple)}.detail-dialog .button{width:auto;height:auto;min-height:44px;margin-top:12px;font-size:15px}.detail-dialog ul{padding-left:22px;line-height:1.8;font-size:17px}.image-dialog{width:min(1600px,96vw);max-width:96vw;height:92dvh;max-height:92dvh;overflow:hidden}.image-dialog[open]{display:flex;flex-direction:column}.image-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;border-bottom:1px solid #333;flex:none}.image-toolbar p{font-size:16px}.image-toolbar>div{display:flex;align-items:center;gap:8px}.image-toolbar button{font-size:22px;width:44px;height:44px}.image-toolbar #zoom-reset{width:62px;font-size:14px}.image-toolbar button:hover{background:#242027}.image-viewport{position:relative;overflow:hidden;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:none;cursor:grab}.image-viewport:active{cursor:grabbing}.image-viewport img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none}.image-help{text-align:center;font-size:13px;color:#b5adb9;padding:12px;flex:none}
@media(min-width:901px){.hero-art{max-width:none}.event-photo{height:calc(var(--asset-h)*var(--u))}.gallery{height:calc(var(--asset-h)*var(--u))}}
@media(max-width:1100px) and (min-width:901px){.special-packages p,.ticket p,.faqs p{font-size:14px}.ticket h3,.package h3,.packages-title,.faqs summary{font-size:16px}.intro-actions{gap:14px}.button{padding-inline:10px}.event-tagline{font-size:18px}.footer-meta{font-size:11px}}
@media(max-width:900px){
:root{--u:calc(100vw/1920)}body{width:100%}.scene{height:auto;position:relative;padding:70px 24px}.placed{position:relative;left:auto;top:auto;width:auto}.artwork img{width:100%}.site-header{position:absolute;align-items:center;padding:18px 24px}.brand{width:56px}.site-header nav{gap:18px;padding:0}.site-header nav a{font-size:12px;padding:10px 0}.hero{height:auto;padding:0 0 44px;min-height:280px}.hero-art.placed{position:relative;width:80%;left:10%;margin-top:0}.intro{padding-top:35px;display:grid;grid-template-columns:1fr;gap:24px}.intro .artwork{width:90%}.intro-copy{width:100%}.intro-copy p{font-size:16px;line-height:1.45}.intro-copy .intro-lead{font-size:19px;margin-bottom:10px}.desktop-break{display:none}.intro-actions{display:flex;gap:15px;margin-top:0}.button{width:auto;min-width:145px;height:46px;font-size:14px;padding:12px 16px}.intro-building.placed{width:68%;justify-self:end;margin-top:15px}.whats-on{padding-top:55px;padding-bottom:90px}.whats-on>.artwork{width:100%;margin-bottom:38px}.date-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:38px;align-items:center}.date-tab.placed{width:100%;position:relative}.date-tab[aria-selected=false]:hover{transform:translateY(-4px)}.event-panel{display:grid;grid-template-columns:1fr;gap:0}.event-photo{width:100%;max-height:none;margin-bottom:28px;aspect-ratio:840/772}.event-photo img{height:100%;object-fit:contain}.event-date{font-size:16px;margin-bottom:15px}.event-date p{font-size:15px;line-height:1.3}.event-heading{width:95%;margin-left:-3%;margin-bottom:12px}.event-heading #event-heading-text{font-size:clamp(34px,8vw,64px)}.event-tagline{font-size:20px;line-height:1.3;margin-bottom:20px}.event-description{font-size:16px;line-height:1.45;max-width:550px;margin-bottom:24px}.event-more.button.placed{position:relative;justify-self:start;width:150px;height:46px}.photo-spots{padding-top:0;padding-bottom:90px}.photo-spots>.artwork{width:76%;margin-bottom:34px}.gallery{width:100%;aspect-ratio:1.94}.gallery-arrow{width:32px;height:44px;font-size:32px;opacity:.7}.gallery-prev{left:0}.gallery-next{right:0}.photo-caption{margin-top:13px}.photo-caption h3{font-size:18px}.photo-caption p{font-size:14px;line-height:1.4}.gallery-dots{margin:14px auto 0;width:130px}.gallery-dots button{width:32px;height:32px}.gallery-dots button:after{width:8px;height:8px}.visit{padding-top:0;padding-bottom:90px;display:grid;grid-template-columns:1fr;gap:0}.visit>.artwork{width:80%;margin-bottom:32px}.venue-photo{width:100%;margin:0}.venue-photo[data-asset=statue-square-photo]{grid-row:2}.venue-one{grid-row:3}.venue-photo[data-asset=chater-road-photo]{grid-row:4}.venue-two{grid-row:5}.venue-info{margin:14px 0 30px}.venue-info h3{font-size:18px;margin-bottom:8px}.venue-info p{font-size:15px;line-height:1.45}.venue-maps{margin-top:12px;width:100%;grid-row:6}.image-action{font-size:12px;left:12px;padding:8px 10px}.venue-maps .image-action{position:relative;display:table;opacity:1;transform:none!important;left:auto;bottom:auto;margin:14px auto 0}.party{padding-top:0;padding-bottom:85px;display:grid;grid-template-columns:1fr;gap:0}.party>.artwork{width:100%;margin-bottom:30px}.party-date{font-size:16px;gap:50px;margin-bottom:20px}.ticket-prices{margin-bottom:24px}.ticket{margin-bottom:24px}.ticket:first-child{margin-bottom:24px}.ticket h3,.package h3{font-size:19px;margin-bottom:7px}.ticket p,.package p{font-size:16px;line-height:1.4}.special-packages{margin-bottom:28px}.packages-title{font-size:17px;margin-bottom:22px}.package{margin-bottom:24px}.alcohol-note{margin-top:22px;font-size:14px}.party-poster{width:75%;margin-inline:auto}.faq{padding-top:0;padding-bottom:80px}.faq>.artwork{width:65%;margin-bottom:35px}.faqs{display:block}.faqs details{padding:17px 0;border-bottom:1px solid #423449}.faqs details:first-child{border-top:1px solid #423449}.faqs summary{font-size:18px!important;margin:0!important;padding-right:25px;position:relative}.faqs summary:after{content:'+';position:absolute;right:3px;top:0}.faqs details[open] summary:after{content:'−'}.faqs details p{font-size:16px;line-height:1.45;margin:12px 0 4px}.contact{padding-top:0;padding-bottom:55px;display:grid;grid-template-columns:1fr 1fr;gap:0}.contact>.artwork{grid-column:1/-1;width:90%;margin-bottom:30px}.contact-copy{grid-column:1/-1}.contact-copy p{font-size:16px;line-height:1.45}.contact-copy p+p{margin-top:15px}.contact-form{grid-column:1/-1;width:100%;margin-top:36px}.field{min-height:76px;padding-bottom:22px}.field label{font-size:18px;top:0}.field input,.field textarea{height:48px;font-size:17px;padding:19px 0 5px}.contact-form>.button{margin-top:8px}.contact-skeleton.placed{grid-column:1;width:85%;align-self:end;justify-self:end;margin-top:35px}.contact-phone.placed{grid-column:2;width:83%;justify-self:end;margin-top:35px}.footer{padding:32px 24px 40px;display:grid;grid-template-columns:1fr 1fr;gap:24px}.footer-brand{width:68px}.organisers.placed{width:170px;max-width:100%;align-self:end;justify-self:end}.footer-meta{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 20px;padding-top:14px;font-size:12px}.footer-meta span:last-child{text-align:left;font-size:11px}.footer-art{grid-column:1/-1;width:100%;margin-top:16px}.detail-dialog{padding:48px 24px 24px}.detail-dialog h2{font-size:36px}.image-toolbar{padding:5px 8px;gap:4px}.image-toolbar p{font-size:13px}.image-toolbar>div{gap:0}.image-toolbar button{width:36px;height:44px}.image-toolbar #zoom-reset{width:50px}.image-dialog{height:85dvh}.image-help{font-size:12px}
}
@media(max-width:400px){.site-header{padding-inline:16px}.site-header nav{gap:11px}.site-header nav a{font-size:11px}.scene{padding-inline:20px}.hero{padding-inline:0}.date-tabs{gap:8px}.intro-actions{gap:10px}.button{min-width:130px}.organisers.placed{width:150px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-ready .reveal:not(.revealed){opacity:1;transform:none}.hero-art{transform:none!important}.date-tab:hover,.contact-phone:hover,.party-poster:hover,.footer-art:hover{transform:none}}

.date-tab[data-event=family][aria-selected=false] img{filter:brightness(.60)}
.date-tab:not([data-event=family])[aria-selected=true] img{filter:brightness(1.67)}
.hero-art{transition:translate .8s cubic-bezier(.2,.7,.3,1)}
.family-bat{pointer-events:none;transform-origin:50% 50%}.whats-on:hover .family-bat{animation:bat-hover 4s ease-in-out infinite}@keyframes bat-hover{0%,100%{transform:translate(0,0) rotate(0)}50%{transform:translate(4px,-6px) rotate(-4deg)}}
@media(max-width:900px){.family-bat.placed{display:none}.event-panel{position:relative}.event-heading{margin-left:-3%;margin-top:0}}
@media(min-width:901px){.event-heading #event-heading-text{font-size:calc(78*var(--u));line-height:1.1}.event-panel[data-event=party] .event-heading #event-heading-text{font-size:calc(65*var(--u))}.site-header{padding-left:calc(44.5*var(--u));padding-top:calc(29.5*var(--u))}.brand{width:calc(170*var(--u))}}
@media(prefers-reduced-motion:reduce){.hero-art{translate:0 0!important}.family-bat{animation:none!important}}

/* The exploration layers are fixed and leave every designed position intact. */
.image-toolbar{flex-wrap:wrap}.image-toolbar>div{flex-shrink:0}
@media(max-width:600px){.image-toolbar>p{flex:1;min-width:100px}}
.gallery-image{position:relative}.content-previous-image{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;pointer-events:none}.content-status{position:fixed;left:24px;bottom:94px;max-width:320px;padding:12px 18px;background:#100c12;border:1px solid var(--orange);color:var(--peach);font:14px/1.4 Arial,sans-serif;z-index:1030}.content-status[hidden]{display:none}
.torch-darkness{position:fixed;inset:0;z-index:1000;pointer-events:none;--torch-x:50vw;--torch-y:43vh;--torch-radius:440px;--torch-shade:.09;--torch-ambient:.818;--torch-core:24%;--torch-mid:46.75%;--torch-soft:69.5%;--torch-edge:93.16%;background:radial-gradient(circle var(--torch-radius) at var(--torch-x) var(--torch-y),rgb(255 180 100 / .018) 0%,transparent 66%),radial-gradient(circle var(--torch-radius) at var(--torch-x) var(--torch-y),rgb(0 0 0 / var(--torch-shade)) 0%,rgb(0 0 0 / var(--torch-shade)) var(--torch-core),rgb(0 0 0 / .24) var(--torch-mid),rgb(0 0 0 / .44) var(--torch-soft),rgb(0 0 0 / .67) var(--torch-edge),rgb(0 0 0 / var(--torch-ambient)) 115%);contain:strict}
.torch-controls{position:fixed;right:24px;bottom:max(24px,env(safe-area-inset-bottom));z-index:1020;display:flex;align-items:center;gap:0;padding:6px;background:#111014f2;color:#f5e9dd;border:1px solid #665044;box-shadow:0 4px 30px #0008;border-radius:999px;font-family:Arial,Helvetica,sans-serif;max-width:calc(100vw - 32px);isolation:isolate}
.torch-strength{display:flex;align-items:center;gap:2px;padding:0 8px 0 12px}.torch-strength label{font-size:13px;letter-spacing:.02em;margin-right:8px}.torch-controls button{min-width:36px;height:40px;border-radius:50%;font-size:20px;color:var(--peach);transition:color .2s,background-color .2s}.torch-controls button:hover{background:#36251f;color:#fff}.torch-controls button:focus-visible,.torch-controls input:focus-visible{outline:2px solid var(--orange);outline-offset:3px}.torch-controls button:disabled{opacity:.35;cursor:default}.torch-strength input{appearance:none;-webkit-appearance:none;width:86px;height:36px;margin:0 2px;background:transparent;cursor:pointer;--range-fill:57.78%}.torch-strength input::-webkit-slider-runnable-track{height:3px;border-radius:2px;background:linear-gradient(to right,var(--orange) 0 var(--range-fill),#514047 var(--range-fill) 100%)}.torch-strength input::-moz-range-track{height:3px;border-radius:2px;background:#514047}.torch-strength input::-moz-range-progress{height:3px;background:var(--orange)}.torch-strength input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:13px;height:13px;border:0;border-radius:50%;background:var(--peach);margin-top:-5px;box-shadow:0 0 10px #ff6f0040}.torch-strength input::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:var(--peach)}.torch-controls .torch-toggle{min-width:91px;border-radius:999px;padding:0 16px;background:var(--orange);color:#090604;font-size:13px;white-space:nowrap}.torch-controls .torch-toggle:hover{background:var(--peach);color:#090604}.torch-controls.torch-off{border-color:#514047}.torch-controls.torch-off .torch-toggle{background:var(--purple)}.torch-hint{position:fixed;z-index:1010;left:28px;bottom:max(42px,calc(env(safe-area-inset-bottom) + 18px));color:#e7cdb9;font-family:Arial,Helvetica,sans-serif;font-size:13px;letter-spacing:.02em;line-height:1.4;pointer-events:none;transition:opacity 1s,transform 1s;background:#0009;border-radius:20px;padding:6px 12px}.torch-hint.dismissed{opacity:0;transform:translateY(6px)}.touch-torch-hint{display:none}.torch-mode .skip-link:focus{z-index:1030}.bat-flight-layer{position:fixed;inset:0;z-index:990;overflow:hidden;pointer-events:none;mix-blend-mode:screen;contain:layout style;opacity:1}.modal-open .torch-controls,.modal-open .torch-hint,.modal-open .bat-flight-layer{visibility:hidden}
@media(pointer:coarse){.desktop-torch-hint{display:none}.touch-torch-hint{display:inline}}
@media(max-width:700px){.torch-controls{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:4px}.torch-strength{padding-left:9px;padding-right:5px}.torch-strength label{font-size:12px;margin-right:4px}.torch-strength input{width:66px}.torch-controls button{min-width:32px;height:40px}.torch-controls .torch-toggle{min-width:84px;padding:0 13px;font-size:12px}.torch-hint{left:auto;right:18px;bottom:max(80px,calc(env(safe-area-inset-bottom) + 64px));font-size:12px;max-width:calc(100vw - 36px)}.footer{padding-bottom:108px}}
@media(prefers-reduced-motion:reduce){.bat-flight-layer{display:none}.torch-hint{transition:none}}
@media print{.torch-darkness,.torch-controls,.torch-hint,.bat-flight-layer{display:none!important}}

.torch-strength label,.torch-controls .torch-toggle{font-size:14px}
@media(max-width:700px){.torch-strength label,.torch-controls .torch-toggle{font-size:13px}}
