@font-face{font-family:DM Sans;font-style:normal;font-weight:200;font-display:swap;src:url(/assets/dm-sans-latin-200-normal-Db5rW57f.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/libre-baskerville-latin-400-normal-C42RasBZ.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/libre-baskerville-latin-400-italic-Dx5Rrf3o.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/libre-baskerville-latin-700-normal-CLGq6Yj4.woff2)format("woff2")}@font-face{font-family:Libre Baskerville;font-style:italic;font-weight:700;font-display:swap;src:url(/assets/libre-baskerville-latin-700-italic-C4Uuk9Bj.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:300;font-display:swap;src:url(/assets/dm-sans-latin-300-normal-C46oWILc.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/dm-sans-latin-400-italic-DRLHr0TN.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2")}:root{--font-serif:"Libre Baskerville", Georgia, serif;--font-sans:"DM Sans", system-ui, sans-serif;font-family:var(--font-serif);color:#34291e;font-synthesis:none;--ink:#34291e;--muted:#75634c;--gold:#9b773c;--rule:#8e796333;--accent:#662747;--accent-dark:#42182d;--accent-light:#733050;--midnight:#42192f;--focus:#a9517b;--paper:#f8f4eb;--paper-texture:radial-gradient(ellipse at 0% 0%, #9b713706, transparent 50%), radial-gradient(ellipse at 100% 100%, #9b713708, transparent 55%);background:#29101e;line-height:1.5}*{box-sizing:border-box}html{background-color:#29101e;min-height:100%}body{background-color:#29101e;min-height:100dvh;margin:0}button,input{font:inherit}input,select,label,.weekend-nav{font-family:var(--font-sans)}button,.letter-action{color:#fff2d9;cursor:pointer;min-height:52px;font-family:var(--font-sans);letter-spacing:.02em;background:#58213d;border:0;border-radius:999px;padding:.65rem 1.4rem;font-size:1.05rem;font-weight:200;text-decoration:none;transition:filter .2s,box-shadow .2s;box-shadow:0 3px 8px #42182d26}button:hover:not(:disabled),.letter-action:hover:not(:disabled){color:#fff2d9;filter:brightness(1.08);box-shadow:0 7px 18px #42182d33}button[aria-pressed=true],button[aria-selected=true]{background:var(--accent-dark)}button:disabled{opacity:.5;cursor:default}input{min-width:0;color:var(--ink);background:#fffae9;border:1px solid #9b825a;border-radius:3px;padding:.75rem;font-size:1rem}:focus-visible{outline:3px solid var(--focus);outline-offset:4px}a{color:var(--accent);text-underline-offset:.2em}a:hover{color:var(--accent-dark)}h1,h2,h3{font-weight:400;line-height:1.15}h1{letter-spacing:-.035em}button,a{-webkit-tap-highlight-color:#bba05d33}.weekend-shell{background:#f3efe5;background-image:var(--paper-texture);min-height:100dvh;padding-bottom:calc(86px + env(safe-area-inset-bottom))}.school-masthead{background:var(--midnight);color:#eddbb1;border-bottom:1px solid #b2945833;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem max(1.25rem,50vw - 500px);display:flex}.school-brand{color:inherit;align-items:center;gap:.9rem;text-decoration:none;display:flex}.school-brand:hover{color:#fff1cc}.school-brand strong{letter-spacing:.13em;font-variant:small-caps;font-size:1.6rem;font-weight:400;line-height:1;display:block}.school-brand small{letter-spacing:.07em;margin-top:.4rem;font-size:.65rem;display:block}.school-crest{object-fit:contain;flex-shrink:0;width:52px;height:52px;display:block}.masthead-stars{color:#baa376;white-space:nowrap;font-size:1.25rem}.weekend-nav{z-index:20;padding:.45rem .75rem calc(.45rem + env(safe-area-inset-bottom));background:var(--midnight);border-top:1px solid #b2945833;justify-content:center;gap:.3rem;display:flex;position:fixed;bottom:0;left:0;right:0}.weekend-nav a{color:#c2b799;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:.05rem;width:min(30%,200px);min-height:54px;padding:.2rem .3rem;font-size:.78rem;text-decoration:none;display:flex}.weekend-nav a span{font-size:1.4rem;line-height:1}.weekend-nav a[aria-current]{color:#ffe4a6;background:#c2a15b15}.page{max-width:760px;margin:0 auto;padding:1.5rem 1.25rem}.page h1{margin:.5rem 0;font-size:clamp(2rem,6vw,3rem)}.panel{background:var(--paper);background-image:var(--paper-texture);border:1px solid var(--rule);border-radius:3px;margin:1rem 0;padding:1.25rem;position:relative;box-shadow:0 4px 18px #58381808}.panel h2{color:#593527;margin:0 0 1rem;font-size:1.35rem}.rows{font-family:var(--font-sans);grid-template-columns:minmax(130px,1fr) minmax(0,2fr);gap:.65rem 1rem;margin:0;font-size:.86rem;display:grid}.rows dt{color:var(--muted)}.rows dd{overflow-wrap:anywhere;font-variant-numeric:tabular-nums;margin:0}.actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.actions input{flex:1;width:100%}.muted{color:var(--muted)}.error{color:#912936;overflow-wrap:anywhere;background:#fff4e177;border-left:3px solid #a74a51;padding:.7rem .85rem}.eyebrow{color:#8a6a3c;letter-spacing:.18em;text-transform:uppercase;font-size:.67rem;font-family:var(--font-sans)}.home-welcome{text-align:center;padding-top:3rem}.home-welcome .welcome-mark{color:var(--gold);font-size:3rem}.home-welcome p{max-width:38ch;margin:1rem auto}@media (width<=480px){.masthead-stars{display:none}.school-brand strong{font-size:1.4rem}.rows{grid-template-columns:1fr;gap:.1rem}.rows dd{margin-bottom:.65rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}button,.letter-action{transition:none}}.tournament-waiting{background:radial-gradient(#492137 0,#29101e 70%);place-items:center;min-height:100svh;padding:2rem;display:grid;overflow:hidden}.tournament-cup{width:min(48vw,230px,45svh);height:auto}.tournament-cup-pulsing{animation:3.5s ease-in-out infinite tournament-cup-pulse}@keyframes tournament-cup-pulse{0%,to{filter:drop-shadow(0 0 12px #e8bd6220);transform:scale(.95)}50%{filter:drop-shadow(0 0 28px #e8bd6260);transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.tournament-cup{animation:none}}.swing-challenge{text-align:center;max-width:32rem;margin:1rem auto}.swing-challenge h2{margin:.3rem 0 1rem;font-size:1.5rem}.swing-challenge p{line-height:1.6}.swing-mark{color:#703448;transform-origin:50% 0;width:4rem;height:4rem;margin:0 auto;font:4rem Georgia,serif}.swing-mark.is-swinging{animation:3s ease-in-out infinite alternate willow-sway}.swing-countdown{margin:.5rem;font-size:2.8rem}.swing-passed{color:#27573b;font-weight:700}@keyframes willow-sway{0%{transform:rotate(-30deg)}to{transform:rotate(30deg)}}@media (prefers-reduced-motion:reduce){.swing-mark.is-swinging{animation:none}}.station-page{max-width:680px;min-height:70dvh;margin:auto;padding:2rem 1.25rem}.station-header{text-align:center;margin-bottom:1.5rem}.station-header:before{content:"✦";color:var(--gold);margin-bottom:.7rem;font-size:1.7rem;display:block}.station-header h1{margin:.5rem 0;font-size:clamp(2.1rem,8vw,3.1rem)}.station-header p{color:var(--muted);margin:.3rem 0}.station-eyebrow{text-transform:uppercase;letter-spacing:.17em;font:.67rem var(--font-sans);color:#8c6d3a!important}.station-card{background:var(--paper);background-image:var(--paper-texture);border:1px solid var(--rule);border-radius:3px;padding:clamp(1.6rem,5vw,2.5rem);position:relative;box-shadow:0 4px 18px #54371408}.station-prompt,.station-clue>p{white-space:pre-line;font-size:1.2rem;line-height:1.75}.station-prompt{margin-top:0}.station-card form{gap:.75rem;margin-top:1.5rem;display:grid}.station-card label{text-transform:uppercase;letter-spacing:.1em;color:#70522f;font-size:.8rem}.station-card input{width:100%;padding:.85rem}.station-card button{width:100%;margin-top:1.25rem;padding:.9rem 1.2rem;display:block}.station-card form button{margin-top:.25rem}.station-clue{border-top:1px solid var(--rule);margin-top:1.75rem;padding-top:1.5rem}.station-clue:before{content:"✦ · ✦";text-align:center;color:var(--gold);margin-bottom:1rem;display:block}.station-clue h2{color:var(--accent);margin:0;font-size:1.4rem}.station-hint{color:var(--muted);font-size:.9rem!important}.station-back{text-align:center;margin-top:1.75rem;font-size:.9rem}.station-scan{margin-top:1rem}.station-scan .scan-button{width:100%}.invitation-scene{min-height:100dvh;padding:clamp(1.1rem, 4vw, 3.5rem) 1rem calc(4rem + env(safe-area-inset-bottom));color:#e9d8a5;background:radial-gradient(circle at 50% 0,#a9517b30 0,#0000 40%),radial-gradient(circle at 6% 90%,#b88b4740 0,#0000 32%),linear-gradient(145deg,#29101e,#4d1c35 48%,#230e1a);flex-direction:column;justify-content:center;align-items:center;gap:1.2rem;display:flex;position:relative;overflow:hidden}.envelope-stage{text-align:center;width:min(100%,560px);padding:clamp(5rem,16vw,8rem) 0 4.5rem;position:relative}.invitation-envelope{aspect-ratio:1.55;perspective:1200px;background:linear-gradient(145deg,#b59361,#ddc599);border:1px solid #967448;border-radius:5px;width:100%;position:relative;box-shadow:0 22px 55px #0008}.envelope-paper{z-index:2;background:var(--paper-texture), linear-gradient(120deg, #ead6ac, #fff0ce, #e5cca0);color:#493021;border:1px solid #b59361;flex-direction:column;align-items:center;gap:.6rem;padding:clamp(1rem,4vw,2rem);display:flex;position:absolute;inset:5% 7% 4%;box-shadow:0 0 15px #65442233}.envelope-paper img{width:clamp(48px,12vw,80px);height:auto}.envelope-paper>span{font-size:clamp(.85rem,3vw,1.2rem)}.envelope-paper-title{font-style:italic}.envelope-paper-lines{background:repeating-linear-gradient(#0000 0 13px,#96744844 13px 14px,#0000 14px 22px);flex:1;width:80%;min-height:25px;margin-top:.4rem}.envelope-pocket{z-index:3;clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);background:var(--paper-texture), linear-gradient(90deg, #d8bc89, #efddb6 50%, #d8bc89);border-radius:4px;position:absolute;inset:0}.envelope-pocket:after{content:"";clip-path:polygon(0 100%,50% 47%,100% 100%);background:linear-gradient(#c9a976,#e7cfa2);position:absolute;inset:0}.envelope-flap{z-index:4;transform-origin:top;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--paper-texture), linear-gradient(#f0deb9, #d6b581);backface-visibility:hidden;position:absolute;inset:0 0 42%}.invitation-envelope .envelope-seal{z-index:5;margin:0;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)rotate(-10deg)}.envelope-address{z-index:4;color:#513821;gap:.15rem;display:grid;position:absolute;bottom:8%;left:1rem;right:1rem}.envelope-address span{font-size:.75rem;font-style:italic}.envelope-address strong{overflow-wrap:anywhere;font-size:clamp(1rem,3.8vw,1.5rem);font-weight:400}.envelope-open{z-index:6;width:100%;box-shadow:none;color:#ead8b2;letter-spacing:.06em;background:0 0;border:0;border-radius:5px;padding:0;font-size:.9rem;font-style:italic;font-weight:400;position:absolute;inset:clamp(5rem,16vw,8rem) 0 0}.envelope-open:hover:not(:disabled){color:#ead8b2;filter:none;box-shadow:none}.envelope-open:focus-visible{outline-offset:8px;outline:2px solid #ead8b2}.envelope-open-label{text-shadow:0 0 15px #e8ce9466;animation:2.4s ease-in-out infinite envelope-hint-hover;position:absolute;bottom:1.5rem;left:0;right:0}.envelope-status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.is-opening .envelope-flap{animation:.6s ease-in-out forwards envelope-flap-open}.is-opening .envelope-seal{animation:.3s ease-in forwards envelope-seal-break}.is-opening .envelope-paper{animation:1.8s ease-in-out forwards envelope-paper-emerge}.is-opening .envelope-pocket,.is-opening .envelope-address{opacity:0;transition:opacity .45s 1.3s}.is-opening .invitation-envelope{animation:1.8s ease-in-out forwards envelope-disappear}.is-opening .envelope-open{opacity:0;transition:opacity .3s}.letter-unfolded{animation:.55s ease-out both letter-unfold}.letter-unfolded:focus{outline:none}@keyframes envelope-hint-hover{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes envelope-flap-open{0%{transform:rotateX(0)}to{transform:rotateX(180deg)}}@keyframes envelope-seal-break{to{opacity:0;transform:translate(-50%,-35%)rotate(10deg)scale(1.15)}}@keyframes envelope-paper-emerge{0%,25%{transform:translateY(0)}75%{opacity:1;transform:translateY(-65%)scale(1.03)}to{opacity:0;transform:translateY(-75%)scale(1.08)}}@keyframes envelope-disappear{0%,72%{background-color:#ddc599;border-color:#967448;box-shadow:0 22px 55px #0008}to{box-shadow:none;background:0 0;border-color:#0000}}@keyframes letter-unfold{0%{opacity:0;transform:translateY(1.5rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.acceptance-letter{isolation:isolate;color:#3c2b1f;width:min(100%,760px);font-family:var(--font-serif);background-color:#e8d7af;background-image:radial-gradient(at 4% 5%,#94632e35 0,#0000 29%),radial-gradient(at 96% 96%,#8a592e45 0,#0000 31%),radial-gradient(at 85% 18%,#fff8de90 0,#0000 45%),repeating-linear-gradient(4deg,#8e704908 0 1px,#0000 1px 5px),linear-gradient(120deg,#d4b988,#f3e5c1 23%,#efdfb9 68%,#d8bd8b);border:1px solid #9c7848;border-radius:4px 8px 5px 9px;padding:clamp(2rem,6vw,4.5rem);position:relative;overflow:hidden;box-shadow:0 2px 3px #0004,0 16px 40px #0006,inset 0 0 38px #8a5b2740}.acceptance-letter:before{z-index:-1;content:"";pointer-events:none;border:1px solid #8d6b3d72;border-radius:2px 5px 3px 6px;position:absolute;inset:12px}.acceptance-letter:after{z-index:-1;content:"";pointer-events:none;background:radial-gradient(circle at 7% 57%,#8d5d3220 0 2%,#0000 8%),radial-gradient(circle at 92% 42%,#74502315 0 3%,#0000 10%),radial-gradient(circle at 49% 100%,#69451f1f 0 5%,#0000 21%);position:absolute;inset:0}.letter-heading{text-align:center}.letter-crest{object-fit:contain;width:120px;height:120px;margin:0 auto 1.2rem;display:block}.letter-school{color:#35271b;letter-spacing:.035em;text-transform:uppercase;margin:0;font-size:clamp(1.35rem,4.7vw,2.15rem);font-weight:700;line-height:1.12}.letter-office{color:#6d4931;margin:.75rem 0 0;font-size:.95rem;font-style:italic}.letter-rule{color:#9f793f;align-items:center;gap:.75rem;margin:1.25rem 0 1.7rem;display:flex}.letter-rule:before,.letter-rule:after{content:"";background:linear-gradient(90deg,#0000,#91713e,#0000);flex:1;height:1px}.letter-body{font-size:clamp(1.04rem,2.7vw,1.15rem);line-height:1.62}.letter-body h1{color:#4c2823;letter-spacing:.015em;text-align:center;margin:0 0 1.25rem;font-size:clamp(1.75rem,5vw,2.35rem);font-weight:400;line-height:1.16}.letter-body p{margin:0 0 1.18rem}.letter-packing-list{margin:-.4rem 0 1.4rem;padding-left:1.4rem}.letter-packing-list li{margin-bottom:.35rem}.letter-body em{color:#643c2b}.letter-salutation{padding-top:1.1rem;font-size:1.2em}.letter-signoff{margin-top:1.5rem!important}.letter-signoff span{color:#5f3a2a;font-size:1.15em;font-style:italic}.letter-footer{text-align:center;border-top:1px solid #8b6a3e70;flex-direction:column;align-items:center;margin-top:1.6rem;padding-top:1.25rem;display:flex}.letter-seal{color:#f2d5ae;background:radial-gradient(circle at 35% 27%,#b15e54,#78272d 67%,#5e1a27);border:3px solid #843d3e;border-radius:48% 52% 46% 54%;place-items:center;width:58px;height:58px;margin-bottom:1.25rem;font-size:1.7rem;display:grid;transform:rotate(-10deg);box-shadow:0 2px 4px #3a261d66,inset 0 0 0 2px #c8826e80,inset 0 0 0 5px #6e2429}.letter-seal img{object-fit:contain;width:40px;height:40px;display:block}.letter-action{justify-content:center;align-items:center;gap:.65rem;min-width:min(100%,270px);display:inline-flex}.letter-action:focus-visible{outline:3px solid var(--focus);outline-offset:4px}.letter-action:disabled{cursor:progress;opacity:.65}.letter-action.is-sending{opacity:1;cursor:progress;filter:none;animation:1.8s ease-in-out infinite letter-sending-glow;transform:none}.letter-owl-flight{flex-shrink:0;width:42px;height:32px;display:inline-flex;position:relative}.letter-post-owl{width:42px;height:32px;animation:1.2s ease-in-out infinite letter-owl-fly;overflow:visible}.letter-owl-wing{transform-box:view-box;animation:.6s ease-in-out infinite alternate letter-owl-flap}.letter-owl-wing-left{transform-origin:26px 26px}.letter-owl-wing-right{transform-origin:38px 26px;animation-direction:alternate-reverse}.letter-owl-spark{color:#f1cf85;font-size:.75rem;animation:1.2s ease-out infinite letter-owl-trail;position:absolute;top:9px;left:-9px}@keyframes letter-sending-glow{0%,to{box-shadow:0 2px 5px #4a302226,0 0 8px #c49a4b30}50%{box-shadow:0 2px 5px #4a302226,0 0 24px #c49a4b80}}@keyframes letter-owl-fly{0%,to{transform:translateY(2px)rotate(-3deg)}50%{transform:translateY(-3px)rotate(3deg)}}@keyframes letter-owl-flap{0%{transform:rotate(-18deg)scaleY(.8)}to{transform:rotate(18deg)scaleY(1.1)}}@keyframes letter-owl-trail{0%{opacity:0;transform:translate(8px)scale(.5)}35%{opacity:1}to{opacity:0;transform:translate(-8px)scale(.2)}}.letter-device-note{color:#6e543b;max-width:35ch;margin:1.05rem 0 0;font-size:.8rem;line-height:1.4}.letter-e-owl{white-space:nowrap}.letter-notice{color:#722c30;max-width:44ch;margin:.25rem 0;line-height:1.45}.letter-notice a{color:var(--accent);font-weight:700}.letter-error{color:#8c2027;font-weight:700}.letter-message{text-align:center;font-size:1.15rem}.letter-message h1{margin-top:0}.invitation-only-card{text-align:center}.invitation-only-card h1{color:#4c2823;margin:.4rem 0 1.25rem;font-size:clamp(1.75rem,5vw,2.35rem);font-weight:400}.invitation-only-card>p{max-width:42ch;margin:0 auto 1.18rem;font-size:clamp(1.04rem,2.7vw,1.15rem);line-height:1.62}@media (width<=520px){.invitation-scene{padding:.8rem .55rem calc(4rem + env(safe-area-inset-bottom))}.acceptance-letter{padding:2.1rem 1.65rem 2.3rem}.acceptance-letter:before{inset:8px}.letter-crest{width:100px;height:100px}.letter-action{width:100%}}@media (prefers-reduced-motion:reduce){.envelope-open-label{animation:none}.letter-action{transition:none}.letter-action.is-sending,.letter-post-owl,.letter-owl-wing,.letter-owl-spark,.letter-unfolded,.is-opening .envelope-flap,.is-opening .envelope-seal,.is-opening .envelope-paper,.is-opening .invitation-envelope{animation:none}.is-opening .envelope-pocket,.is-opening .envelope-address,.is-opening .envelope-open{transition:none}}.weekend-shell.is-map{background:#29101e;flex-direction:column;height:100dvh;min-height:0;padding:0;display:flex;overflow:hidden}.is-map>.weekend-nav{background:#29101e;border-top:0;flex-shrink:0;position:static}.is-map>.school-masthead{border-bottom:0}.is-map .weekend-nav a{color:#c4af95;font-weight:300}.is-map .weekend-nav a[aria-current]{color:#f4dfac;background:0 0}.map-page{background:#29101e;flex-direction:column;flex:1;width:100%;min-width:0;min-height:0;margin:0;padding:0;display:flex}.map-tabs{padding:max(.35rem, env(safe-area-inset-top)) 1rem .15rem;background:#29101e;flex:none;justify-content:center;gap:2rem;display:flex}.map-tabs button{color:#bca690;min-height:48px;box-shadow:none;font:300 .95rem var(--font-sans);letter-spacing:.025em;background:0 0;border:0;border-radius:0;padding:.7rem .4rem;position:relative}.map-tabs button[aria-selected=true]{color:#f4dfac;background:0 0}.map-tabs button[aria-selected=true]:after{content:"";background:#d4b477;height:2px;position:absolute;bottom:0;left:.4rem;right:.4rem}.map-tabs button:hover:not(:disabled){color:#fff0ce;box-shadow:none;filter:none;background:0 0}.map-tabs button:focus-visible{outline-offset:-3px}.map-panel{flex:1;min-height:0;position:relative;overflow:hidden}.map-panel[hidden]{display:none}.host-map-preview{border-radius:3px;height:min(65dvh,600px);min-height:300px;overflow:hidden}.map-viewport{touch-action:none;overscroll-behavior:none;cursor:grab;-webkit-user-select:none;user-select:none;background:#29101e;width:100%;height:100%;min-height:0;position:relative;overflow:hidden}.map-viewport.is-dragging{cursor:grabbing}.map-viewport:focus-visible{outline-offset:-4px}.map-viewport:focus:not(:focus-visible),.map-viewport.is-pointer-focused{outline:none}.map-canvas{transform-origin:50%;will-change:transform;position:absolute;top:50%;left:50%}.map-artwork{object-fit:fill;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;display:block;box-shadow:0 0 20px #fff6,0 0 48px #ffffff40}.map-decorations{z-index:0;pointer-events:none;position:absolute;inset:0}.map-walking-trails{width:100%;height:100%;position:absolute;inset:0}.map-castle{filter:sepia(.15)drop-shadow(0 3px 3px #45301830);width:18%;height:auto;position:absolute;transform:translate(-50%,-87%)}.map-willow{filter:sepia(.15)drop-shadow(0 3px 3px #45301830);width:4%;height:auto;position:absolute;transform:translate(-62%,-88%)}.map-gazebo{filter:sepia(.15)drop-shadow(0 2px 2px #45301830);width:5.5%;height:auto;position:absolute;transform:translate(-50%,-88%)}.map-ghosts{aspect-ratio:1;width:16%;position:absolute;transform:translate(-50%,-50%)}.map-ghost-flight{aspect-ratio:1;width:29%;animation:18s linear infinite map-ghost-patrol;position:absolute}.map-ghost-flight-1{--ghost-drift:0deg;animation-delay:-4s;top:3%;left:5%}.map-ghost-flight-2{--ghost-drift:145deg;width:24%;animation-duration:23s;animation-delay:-12s;top:35%;left:55%}.map-ghost-flight-3{--ghost-drift:275deg;width:21%;animation-duration:27s;animation-delay:-19s;top:62%;left:18%}.map-ghost{opacity:.82;filter:drop-shadow(0 0 2px #fff0d360);width:100%;height:auto;animation:5.5s ease-in-out infinite map-ghost-waver;display:block}.map-ghost-flight-2 .map-ghost{animation-duration:7s;animation-delay:-2s}.map-ghost-flight-3 .map-ghost{animation-duration:6.2s;animation-delay:-4s}@keyframes map-ghost-patrol{0%{transform:rotate(var(--ghost-drift)) translateX(42%) rotate(calc(-1 * var(--ghost-drift)))}to{transform:rotate(calc(var(--ghost-drift) + 360deg)) translateX(42%) rotate(calc(-1 * var(--ghost-drift) - 360deg))}}@keyframes map-ghost-waver{0%,to{opacity:.7;transform:translateY(4%)rotate(-7deg)}50%{opacity:.92;transform:translateY(-5%)rotate(7deg)}}@media (prefers-reduced-motion:reduce){.map-ghost-flight,.map-ghost{animation:none}}.map-marker{z-index:2;transform-origin:50%;pointer-events:none;place-items:center;width:30px;height:36px;display:grid;position:absolute}.map-footsteps{fill:#4a3124;stroke:#000;stroke-width:.65px;filter:drop-shadow(0 1px 2px #fff0d3);width:30px;height:36px}.map-marker[data-house=Gryffindor] .map-footsteps{fill:#792e2e}.map-marker[data-house=Ravenclaw] .map-footsteps{fill:#284d70}.map-marker[data-house=Hufflepuff] .map-footsteps{fill:#70530f}.map-marker[data-house=Slytherin] .map-footsteps{fill:#305638}.map-label{color:#3c2a1e;font:italic .72rem var(--font-serif);white-space:nowrap;text-shadow:0 0 4px #fff0d3,0 0 8px #fff0d3,0 1px 2px #fff0d3;position:absolute;top:36px;left:50%;transform:translate(-50%)}.map-place-label{z-index:1;transform-origin:50%;pointer-events:none;white-space:nowrap;color:#302216;animation:.3s ease-out map-label-appear;position:absolute}.map-rat-anchor{z-index:3;transform-origin:50%;pointer-events:none;position:absolute}.scabbers-rat{place-items:center;width:36px;height:36px;font-size:1.8rem;line-height:1;display:grid}.scabbers-appearance{animation:40s linear infinite scabbers-appear;display:block;position:relative}@keyframes scabbers-appear{0%,50%,to{opacity:0}3%,47%{opacity:1}}@media (prefers-reduced-motion:reduce){.scabbers-appearance{animation-timing-function:step-end}}@keyframes map-label-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.map-place-label{animation:none}}.map-ribbon{transform-origin:50%;animation:map-ribbon-float var(--ribbon-duration,8s) ease-in-out var(--ribbon-delay,0s) infinite;display:block}.map-ribbon svg{filter:drop-shadow(0 0 1px #fff5d699)drop-shadow(0 4px 4px #35231265);display:block;overflow:visible}.map-ribbon-text{fill:#302216;font-family:var(--font-serif);letter-spacing:.1px;font-size:12.5px;font-style:italic;font-weight:700}@keyframes map-ribbon-float{0%,to{transform:translate(calc(-1 * var(--ribbon-sway)), var(--ribbon-rise)) rotate(calc(-1 * var(--ribbon-tilt)))}50%{transform:translate(var(--ribbon-sway), calc(-1 * var(--ribbon-rise))) rotate(var(--ribbon-tilt))}}@media (prefers-reduced-motion:reduce){.map-ribbon{animation:none}}.scan-button{justify-content:center;align-items:center;gap:.65rem;display:inline-flex}.scanner-overlay{z-index:100;padding:max(1rem, env(safe-area-inset-top)) 1rem max(1rem, env(safe-area-inset-bottom));overscroll-behavior:contain;background:#29101ef5;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.scanner-panel{background:var(--paper);background-image:var(--paper-texture);width:min(100%,460px);color:var(--ink);border:1px solid #b2945870;border-radius:8px;padding:clamp(1rem,4vw,1.6rem);box-shadow:0 20px 70px #13071166}.scanner-heading{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.scanner-heading h2{color:var(--accent);margin:0;font-size:clamp(1.5rem,6vw,1.9rem)}.scanner-heading .scanner-close{width:44px;height:44px;min-height:44px;color:var(--accent);border:1px solid var(--rule);box-shadow:none;background:0 0;flex-shrink:0;place-items:center;margin:0;padding:0;font-size:1.1rem;line-height:1;display:grid}.scanner-heading .scanner-close:hover{color:var(--accent-dark);background:#6627470a}.scanner-view{aspect-ratio:1;background:#29101e;border:1px solid #9b773c66;border-radius:5px;width:100%;max-height:52dvh;position:relative;overflow:hidden}.scanner-view video{object-fit:cover;width:100%;height:100%;display:block}.scanner-target{pointer-events:none;border:1px solid #f3dca533;border-radius:8px;position:absolute;inset:16%;box-shadow:0 0 0 100vmax #180c204d}.scanner-target i{border:0 solid #f3dca5;width:26px;height:26px;position:absolute}.scanner-target i:first-child{border-top-width:3px;border-left-width:3px;border-top-left-radius:8px;top:-1px;left:-1px}.scanner-target i:nth-child(2){border-top-width:3px;border-right-width:3px;border-top-right-radius:8px;top:-1px;right:-1px}.scanner-target i:nth-child(3){border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:8px;bottom:-1px;left:-1px}.scanner-target i:nth-child(4){border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:8px;bottom:-1px;right:-1px}.scanner-status{text-align:center;color:var(--muted);font:.75rem/1.5 var(--font-sans);justify-content:center;align-items:center;gap:.55rem;margin:1.15rem 0 .15rem;display:flex}.scanner-status span{background:var(--gold);flex-shrink:0;width:5px;height:5px;transform:rotate(45deg)}.scanner-panel .error{font:.85rem/1.6 var(--font-sans);margin-bottom:0}.wand-practice-page{padding-top:1rem}.wand-practice-header{margin-bottom:.75rem}.wand-practice-header:before{margin-bottom:.3rem;font-size:1.2rem}.wand-practice-header h1{margin:.2rem 0;font-size:clamp(1.9rem,7vw,2.5rem)}.wand-practice-card{padding:clamp(1.1rem,4vw,1.8rem);overflow:hidden}.wand-challenge{text-align:center;max-width:480px;margin:auto}.wand-orb{color:#78542a;background:radial-gradient(circle,#ffe9a9,#e5d3a6);border:1px solid #af8e50;border-radius:50%;place-items:center;width:44px;height:44px;margin:0 auto .15rem;font-size:1.75rem;display:grid;box-shadow:0 0 0 4px #af8e5015}.wand-orb-active{animation:1.5s ease-in-out infinite alternate wand-glow}.wand-orb-success{color:var(--accent-dark);background:#efdce5;box-shadow:0 0 20px #a9517b40}.wand-incantation{color:var(--accent);margin:.45rem 0 .2rem;font-size:clamp(1.65rem,7vw,2.15rem)}.wand-grip-guide{max-width:260px;margin:.2rem auto .55rem}.wand-grip-guide img{filter:drop-shadow(0 8px 10px #3f251f32);width:min(100%,145px);height:auto;margin:0 auto;display:block}.wand-grip-guide figcaption{color:var(--muted);font:.78rem/1.4 var(--font-sans);letter-spacing:.01em;margin-top:.3rem}.wand-video-toggle{width:100%;margin:.85rem auto;display:block}.wand-motion-demo{text-align:center;max-width:280px;margin:.25rem auto 1rem}.wand-motion-demo img,.wand-motion-demo video{background:#1f1713;border:1px solid #9b825a;border-radius:4px;width:100%;display:block;box-shadow:0 8px 20px #3f251f30}.wand-motion-demo figcaption{color:var(--muted);font:.8rem/1.5 var(--font-sans);margin-top:.55rem}.wand-tutorial-steps{font:.88rem/1.55 var(--font-sans);margin:.5rem 0 .75rem;padding-left:1.4rem}.wand-tutorial-steps li{margin:.35rem 0}.wand-status{color:#604c35;border-block:1px solid var(--rule);background:#a887490d;margin:.8rem 0;padding:.7rem .8rem;font-size:.92rem}.wand-checks{font:.8rem/1.4 var(--font-sans);grid-template-columns:1fr 1fr;gap:.5rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.wand-checks li{border:1px solid var(--rule);background:#fff9e680;border-radius:999px;padding:.55rem}.wand-motion-feedback{text-align:left;background:#fff7df;border:1px solid #b99554;margin:1rem 0;padding:1rem;box-shadow:inset 0 0 24px #b9955415}.wand-motion-feedback h3{color:var(--accent);margin:.2rem 0 .5rem;font-size:1.25rem}.wand-motion-feedback p{margin:.35rem 0}.wand-feedback-kicker{color:#7d6235;font:700 .7rem/1.4 var(--font-sans);letter-spacing:.12em;text-transform:uppercase}.wand-heard{overflow-wrap:anywhere;font-style:italic}.wand-primary-action{flex-direction:column;align-items:center;gap:.75rem;margin-top:.7rem;display:flex}.wand-primary-action>button{width:100%;margin:0;display:block}.wand-primary-action>.wand-secondary{border:1px solid var(--rule);width:auto;min-height:44px;color:var(--accent);box-shadow:none;background:0 0;padding:.5rem 1rem;font-size:.85rem}.wand-primary-action>.wand-secondary:hover:not(:disabled){color:var(--accent-dark);box-shadow:none;background:#a887490d}.wand-diagnostics{text-align:left;font:.75rem/1.55 var(--font-sans);margin-top:.3rem}.wand-diagnostics summary{cursor:pointer;min-height:44px;color:var(--muted);padding:.5rem 0}.wand-diagnostics dl{grid-template-columns:1fr 1fr;gap:.4rem;display:grid}.wand-diagnostics dd{overflow-wrap:anywhere;margin:0}.wand-diagnostics meter{width:100%;margin-top:.25rem;display:block}.wand-note{color:var(--muted);font:.75rem/1.65 var(--font-sans);margin-top:1.25rem}.speech-readout{text-align:center;margin:.65rem 0}.speech-capture{font:.8rem/1.4 var(--font-sans);color:#6f5738;justify-content:center;align-items:center;gap:.5rem;margin:0 0 .5rem;display:flex}.speech-dot{background:#9d9281;border-radius:50%;flex-shrink:0;width:6px;height:6px}.speech-capture-active .speech-dot{background:#a93c44;animation:1s ease-in-out infinite alternate speech-pulse;box-shadow:0 0 0 4px #a93c441a}.speech-transcript{color:#806944}.speech-transcript-final{color:#4c3526}.speech-transcript p{white-space:pre-wrap;overflow-wrap:anywhere;max-width:30rem;font:italic clamp(1.05rem, 4.5vw, 1.3rem)/1.65 var(--font-serif);margin:.5rem auto}.speech-readout summary,.wand-instructions summary,.wand-history summary{cursor:pointer;min-height:44px;padding:.6rem 0}.wand-instructions{text-align:left;color:var(--muted);border-block:1px solid var(--rule);margin:.25rem 0 .7rem}.wand-instructions>summary{color:var(--accent);font-weight:700}.wand-history{text-align:left;margin-top:1.2rem;font-size:.9rem}.wand-history ol{padding-left:1.2rem}.wand-history li{border-bottom:1px solid var(--rule);overflow-wrap:anywhere;padding:.6rem 0}.wand-history li p{margin:.3rem 0}.speech-events{max-height:160px;padding-left:1.2rem;overflow:auto}.wand-lab-tabs{grid-template-columns:1fr 1fr;gap:.5rem;margin:1rem 0;display:grid}.motion-fields{gap:.7rem;display:grid}.motion-fields label{gap:.35rem;display:grid}.motion-fields select{width:100%;font:1rem var(--font-sans);min-height:44px;color:var(--ink);background:#fffae9;border:1px solid #9b825a;padding:.7rem}.motion-capture-state{border-block:1px solid var(--rule);text-align:center;background:#a8874912;margin-top:1.2rem;padding:.8rem}.motion-capture-state p{margin:.4rem 0}.motion-capture-active{background:#a93c4415;border-color:#a93c44}.motion-countdown{color:var(--accent);font-size:3rem}.motion-plot{border:1px solid var(--rule);background:#fff9eb;margin:.75rem 0;padding:.5rem}.motion-plot svg{width:100%;display:block}.motion-plot text{fill:var(--muted);font:9px var(--font-sans)}.motion-plot figcaption{font:.75rem var(--font-sans);text-align:center}@keyframes speech-pulse{to{opacity:.5}}@keyframes wand-glow{to{box-shadow:0 0 24px #c0a14e99,0 0 0 8px #af8e5015}}@media (prefers-reduced-motion:reduce){.wand-orb-active,.speech-capture-active .speech-dot{animation:none}}.voice-challenge{isolation:isolate;text-align:center;margin-top:1rem;position:relative}.voice-challenge-compact{margin-top:0}.voice-feedback{max-width:28rem;color:var(--muted);font:.8rem/1.6 var(--font-sans);margin:.5rem auto 0}.voice-challenge .voice-whisper{width:auto;min-height:44px;box-shadow:none;color:#806944;letter-spacing:.03em;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:.6rem;padding:.5rem .75rem;font-size:.9rem;font-style:italic;font-weight:300;transition:color .3s,transform .3s;display:inline-flex}.voice-challenge .voice-whisper:hover:not(:disabled){color:var(--accent-dark);filter:none;box-shadow:none;background:0 0;transform:translateY(-2px)}.voice-microphone{flex:none}.voice-whisper-listening .voice-microphone{color:var(--accent);animation:1s ease-in-out infinite alternate speech-pulse}@media (prefers-reduced-motion:reduce){.voice-whisper-listening .voice-microphone{animation:none}}.floo-failure{z-index:200;padding:max(1.5rem, env(safe-area-inset-top)) 1.5rem max(1.5rem, env(safe-area-inset-bottom));text-align:center;color:#e8dfcf;background:#100e0de8;place-items:center;animation:4.2s both floo-veil;display:grid;position:fixed;inset:0;overflow:hidden}.floo-scorch{background:radial-gradient(at 50% 110%,#8d3f1d40,#0000 47%),radial-gradient(#0000 15%,#030302a8 75%);position:absolute;inset:-2%;box-shadow:inset 0 0 80px 30px #000}.floo-scorch:before,.floo-scorch:after{content:"";opacity:.65;background:radial-gradient(at 0 30%,#000 0 4%,#0000 23%),radial-gradient(at 90% 0,#000 0 8%,#0000 32%),radial-gradient(at 100% 80%,#000 0 7%,#0000 28%),radial-gradient(at 20% 100%,#000 0 8%,#0000 28%);position:absolute;inset:0}.floo-scorch:after{opacity:.5;transform:rotate(180deg)}.floo-soot{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.floo-message{z-index:2;text-shadow:0 2px 12px #000,0 0 35px #000;max-width:27rem;animation:4.2s both floo-message-in;position:relative}.floo-message strong{font:400 clamp(2rem, 8vw, 3.4rem)/1.2 var(--font-serif);color:#d7c2a1;display:block}@keyframes floo-veil{0%{opacity:0}5%,78%{opacity:1}to{opacity:0}}@keyframes floo-message-in{0%,9%{opacity:0;transform:translateY(6px)}23%,80%{opacity:1;transform:none}to{opacity:0}}@media (prefers-reduced-motion:reduce){.floo-failure,.floo-message{animation:none}}.bow-challenge{text-align:center;border-top:1px solid var(--rule);max-width:480px;margin:1rem auto 0;padding-top:1rem}.bow-challenge h2{color:var(--accent);margin:.35rem 0}.bow-emblem{color:#68482e;background:radial-gradient(circle,#f8e9b9,#dac391);border:1px solid #9b825a;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto;font-size:1.8rem;display:grid}.bow-emblem-active{animation:1.2s ease-in-out infinite alternate bow-breathe}.bow-emblem-success{color:#2a573c;background:#d7e3c8;animation:none}.bow-instructions{color:var(--muted);font:.9rem/1.55 var(--font-sans);margin:.4rem auto .8rem}.bow-phone-guide{border:1px solid var(--rule);background:#fff9e680;justify-content:center;align-items:center;gap:.8rem;margin:.7rem auto 1rem;padding:.7rem;display:flex}.bow-phone-guide>span{color:var(--accent);font-size:2.5rem;line-height:1;transform:rotate(90deg)}.bow-phone-guide p{text-align:left;font:.8rem/1.4 var(--font-sans);margin:0}.bow-progress{background:#866d4930;border-radius:10px;height:6px;margin:.8rem 0;overflow:hidden}.bow-progress i{background:linear-gradient(90deg,#76502e,#bea24f);height:100%;transition:width .25s;display:block}.bow-status{border-block:1px solid var(--rule);background:#a887490d;min-height:3em;margin:.8rem 0;padding:.7rem}.bow-checks{font:.75rem/1.35 var(--font-sans);grid-template-columns:repeat(2,1fr);gap:.45rem;margin:.8rem 0;padding:0;list-style:none;display:grid}.bow-checks li{border:1px solid var(--rule);color:var(--muted);background:#fff9e680;border-radius:999px;padding:.5rem}.bow-checks li.done{color:#31563b;background:#e3ead8;border-color:#78906c}.bow-diagnostics{text-align:left;color:var(--muted);font:.75rem/1.55 var(--font-sans);margin-top:.7rem}.bow-diagnostics summary{cursor:pointer;min-height:44px;padding:.6rem 0}.bow-diagnostics dl{grid-template-columns:1fr 1fr;gap:.35rem;display:grid}.bow-diagnostics dd{margin:0}@keyframes bow-breathe{to{transform:scale(1.03);box-shadow:0 0 22px #bba05088}}@media (prefers-reduced-motion:reduce){.bow-emblem-active{animation:none}}.mandrake-effect{margin:1rem 0}.mandrake-effect .error{margin-top:.5rem}.photo-challenge{text-align:center;margin-top:1.25rem}.challenge-photo{object-fit:contain;border-radius:4px;width:100%;max-width:420px;max-height:420px;margin:1rem auto;display:block}.photo-challenge .photo-camera{justify-content:center;align-items:center;gap:.65rem;display:inline-flex}.photo-assessment{padding:.75rem 0}.photo-assessment p{margin:.25rem 0 0}.photo-wand{margin:0 auto;display:block}.photo-wand-stick{transform-origin:23px 49px;animation:2.4s ease-in-out infinite photo-wand-swish}.photo-wand-sparks{transform-origin:54px 21px;animation:2.4s ease-in-out infinite photo-wand-sparkle}@keyframes photo-wand-swish{0%,to{transform:rotate(-12deg)}45%{transform:rotate(10deg)}60%{transform:rotate(-4deg)}}@keyframes photo-wand-sparkle{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.photo-wand-stick,.photo-wand-sparks{animation:none}}.photo-review-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1rem;display:grid}.photo-review{border:1px solid var(--rule);padding:1rem}.photo-review .challenge-photo{max-height:300px}.photo-review textarea{width:100%;min-height:65px}.hunt-scroll-page.is-chess{max-width:720px;padding-left:.8rem;padding-right:.8rem}.is-chess .parchment-scroll{padding:1.8rem clamp(.7rem,3vw,2rem) 2rem}.is-chess .hunt-scroll-crest{margin-bottom:1rem}.wizard-chess{text-align:center;color:#493723;max-width:460px;margin:0 auto}.chess-instructions{font:300 .9rem/1.5 var(--font-sans);margin:1rem 0}.chess-frame{background:linear-gradient(130deg,#2c2028,#685042 45%,#271c26);border:1px solid #aa8a4f;border-radius:5px;padding:7px;box-shadow:0 9px 24px #29101e2e,inset 0 0 0 3px #d9bc7638}.chess-board{aspect-ratio:1;isolation:isolate;border:1px solid #b3945e;grid-template-columns:repeat(8,minmax(0,1fr));display:grid;position:relative}.station-card .chess-square{width:100%;min-height:0;box-shadow:none;aspect-ratio:1;cursor:pointer;touch-action:manipulation;border:0;border-radius:0;place-items:center;margin:0;padding:0;display:grid;position:relative}.station-card .chess-square.is-light{color:#6a5335;background:radial-gradient(at 20% 10%,#fff7df50,#0000 85%),#e8d4a7}.station-card .chess-square.is-dark{color:#ead8af;background:radial-gradient(at 20% 10%,#bbaa8c24,#0000 85%),#756154}.station-card .chess-square:hover:not(:disabled){color:inherit;filter:none;box-shadow:inset 0 0 0 2px #eacb8255}.station-card .chess-square.is-selected,.station-card .chess-square[aria-pressed=true]{background:#aa8b4d;box-shadow:inset 0 0 0 2px #ffe5a4,inset 0 0 18px #fff4cb66}.station-card .chess-square.is-last-move:not(.is-selected):after{content:"";pointer-events:none;border:1px solid #f6d88b66;position:absolute;inset:2px}.station-card .chess-square[aria-disabled=true]{cursor:default}.station-card .chess-square:focus-visible{outline-offset:-3px;z-index:3;outline:2px solid #fff1bb}.chess-piece-holder,.chess-king-falls,.chess-striker,.chess-victim{width:100%;height:100%;display:block}.chess-piece{filter:drop-shadow(0 2px 1px #100b1640);width:100%;height:100%;display:block;overflow:visible}.chess-target{pointer-events:none;background:#39233bc0;border-radius:50%;position:absolute;inset:39%;box-shadow:0 0 0 2px #fff2cc80}.chess-square:has(.chess-piece) .chess-target{box-shadow:none;background:0 0;border:2px solid #fff0b4;inset:5%}.chess-motion{z-index:5;pointer-events:none;position:absolute;inset:0}.chess-traveller,.chess-capture-site{width:12.5%;height:12.5%;position:absolute}.chess-traveller{animation:chess-travel var(--move-time) ease-in-out both;z-index:2}.chess-motion.is-capture .chess-traveller{animation-name:chess-capture-travel}.chess-motion.is-capture .chess-striker{transform-origin:50% 85%;animation:chess-strike var(--move-time) ease-in-out both}.chess-victim{transform-origin:50% 90%;animation:chess-shatter var(--move-time) ease-in both}.chess-frame.is-capturing{animation:chess-board-impact var(--move-time) linear both}.chess-fractures{fill:none;stroke:#fff1ba;stroke-width:2px;filter:drop-shadow(0 0 3px #ffbd50);width:100%;height:100%;animation:chess-cracks var(--move-time) linear both;position:absolute;inset:0}.chess-piece-fragment{animation:chess-fragment var(--move-time) ease-out both;position:absolute;inset:0}.chess-dust{filter:blur(4px);animation:chess-dust var(--move-time) ease-out both;background:radial-gradient(#e0c99e99,#ba9a6655 35%,#0000 70%);border-radius:50%;position:absolute;inset:-30%}.chess-impact{animation:chess-impact var(--move-time) ease-out both;background:radial-gradient(circle,#fff5d8cc,#edbc5e44 40%,#0000 70%);border:3px solid #ffe9a7;border-radius:50%;position:absolute;inset:5%;box-shadow:0 0 24px #f4d381,inset 0 0 16px #fff0b8}.chess-shard{clip-path:polygon(10% 0,100% 35%,75% 100%,0 70%);width:13%;height:18%;animation:chess-debris var(--move-time) ease-out both;background:#e6cf9f;position:absolute;top:45%;left:45%}.chess-shard.black{background:#43404a}.chess-status{min-height:3em;font:italic .95rem/1.6 var(--font-serif);text-wrap:balance;margin:1rem 0 .25rem}.chess-progress{justify-content:center;gap:.65rem;margin:.6rem 0;display:flex}.chess-progress span{color:#8c744f;border:1px solid #9c7b4560;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.7rem;display:grid}.chess-progress .is-used{color:#f6e6c0;background:#58213d;border-color:#58213d}.chess-king-falls{transform-origin:50% 85%;animation:1.5s ease-in-out both chess-king-falls}.wizard-chess.is-won .chess-frame{animation:1.8s ease-out both chess-victory}@keyframes chess-travel{0%{transform:translate(0)}to{transform:translate(var(--travel-x), var(--travel-y))}}@keyframes chess-capture-travel{0%,30%{transform:translate(0)}52%,to{transform:translate(var(--travel-x), var(--travel-y))}}@keyframes chess-strike{0%,12%,to{transform:none}30%{transform:translateY(-18%)rotate(-25deg)scale(1.18)}46%{transform:translateY(-40%)rotate(-32deg)scale(1.4)}54%,57%{transform:translateY(12%)rotate(18deg)scale(1.15,.85)}67%{transform:translateY(-8%)rotate(-8deg)scale(1.05)}82%{transform:none}}@keyframes chess-shatter{0%,49%{opacity:1;transform:none}52%{opacity:1;filter:brightness(1.7);transform:scale(1.06)}54%,to{opacity:0}}@keyframes chess-cracks{0%,49%{opacity:0}51%,53%{opacity:1}55%,to{opacity:0}}@keyframes chess-fragment{0%,53%{opacity:0;transform:none}54%{opacity:1;transform:none}76%{opacity:.9;transform:translate(var(--fragment-x), var(--fragment-y)) rotate(var(--fragment-spin))}96%,to{opacity:0;transform:translate(var(--fragment-x), calc(var(--fragment-y) + 85%)) rotate(var(--fragment-spin)) scale(.65)}}@keyframes chess-impact{0%,52%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(.8)}73%,to{opacity:0;transform:scale(3.2)}}@keyframes chess-dust{0%,53%{opacity:0;transform:scale(.3)}62%{opacity:.9}to{opacity:0;transform:translateY(25%)scale(2.4)}}@keyframes chess-debris{0%,53%{opacity:0;transform:none}55%{opacity:1;transform:none}78%{opacity:.9;transform:translate(var(--shard-x), var(--shard-y)) rotate(var(--shard-rotation))}98%,to{opacity:0;transform:translate(var(--shard-x), calc(var(--shard-y) + 35px)) rotate(var(--shard-rotation)) scale(.5)}}@keyframes chess-board-impact{0%,53%,70%,to{transform:none}55%{transform:translate(-4px,3px)rotate(-.5deg)}58%{transform:translate(4px,-2px)rotate(.4deg)}61%{transform:translate(-3px,1px)}65%{transform:translate(2px,-1px)}}@keyframes chess-king-falls{0%,20%{transform:none}80%,to{transform:translateY(6%)rotate(72deg)}}@keyframes chess-victory{25%{box-shadow:0 0 30px #dfb95e99}to{box-shadow:0 9px 24px #29101e2e,inset 0 0 0 3px #d9bc7638}}@media (prefers-reduced-motion:reduce){.chess-traveller,.chess-motion.is-capture .chess-traveller,.chess-motion.is-capture .chess-striker,.chess-victim,.chess-impact,.chess-shard,.chess-king-falls,.wizard-chess.is-won .chess-frame,.chess-frame.is-capturing,.chess-fractures,.chess-piece-fragment,.chess-dust{animation:none}.chess-traveller{transform:translate(var(--travel-x), var(--travel-y))}.chess-victim,.chess-impact,.chess-shard,.chess-fractures,.chess-piece-fragment,.chess-dust{visibility:hidden}}.chess-retry-overlay{z-index:8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);color:#f4e8ce;background:#29101ecc;place-items:center;animation:.25s ease-out both chess-retry-appear;display:grid;position:absolute;inset:0}.chess-retry-overlay span{font:italic clamp(1.6rem, 7vw, 2.5rem)/1.3 var(--font-serif);text-shadow:0 2px 12px #10060c66}@keyframes chess-retry-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.chess-retry-overlay{animation:none}}.hunt-scroll-page.is-anagram{padding-left:1rem;padding-right:1rem}.hunt-scroll-page.is-anagram .parchment-scroll{padding:2rem clamp(.75rem,4vw,2.5rem)}.is-anagram .parchment-scroll>.station-prompt{margin-bottom:1.5rem;font-size:clamp(1.15rem,4.5vw,1.5rem)}.riddle-challenge{color:#3c2b23;max-width:420px;margin:0 auto;position:relative}.riddle-bank{height:154px;margin:0 0 1rem;position:relative}.riddle-challenge button.riddle-tile,.riddle-challenge button.riddle-empty{width:100%;height:48px;min-height:0;box-shadow:none;color:#3c2b23;font:400 clamp(1.15rem, 5vw, 1.7rem) var(--font-serif);letter-spacing:0;text-transform:uppercase;opacity:1;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;background:0 0;border:0;border-radius:5px;place-items:center;margin:0;padding:0;transition:background .18s,box-shadow .18s;display:grid}.riddle-bank>button.riddle-tile{width:calc(12.5% - 4px);left:var(--bank-x);top:var(--bank-y);position:absolute}.riddle-name .riddle-bank>button.riddle-tile{left:var(--name-x);top:var(--name-y);animation:1.8s both riddle-ink}.riddle-mixing .riddle-bank>button.riddle-tile{animation:riddle-scatter 2.15s var(--delay) both cubic-bezier(.45, 0, .2, 1)}.riddle-playing .riddle-bank>button.riddle-tile{background:#f9edcf80;box-shadow:0 2px 3px #482f241a}.riddle-challenge button.riddle-tile:hover:not(:disabled){color:#3c2b23;filter:none;box-shadow:none;background:#b89a6230}.riddle-challenge button.riddle-empty:hover:not(:disabled){filter:none;box-shadow:none;background:#b89a6230}.riddle-challenge button.riddle-tile.is-selected{color:#fff5dd;background:#58213d;box-shadow:0 3px 8px #42182d26}.riddle-challenge button.riddle-tile.is-selected:hover:not(:disabled){color:#fff5dd;background:#58213d}.riddle-challenge button.riddle-tile.is-dragging{opacity:.2}.riddle-challenge button.riddle-tile:disabled{cursor:default}.riddle-workspace{transition:opacity .8s}.riddle-name .riddle-workspace,.riddle-mixing .riddle-workspace{opacity:0;visibility:hidden}.riddle-instruction,.riddle-status{text-align:center;font:400 .86rem/1.6 var(--font-sans)}.riddle-instruction span{opacity:.7;font-size:.78rem}.riddle-answer{grid-template-columns:repeat(9,minmax(0,1fr));gap:20px 3px;margin-top:1.75rem;display:grid}.riddle-word{grid-template-columns:repeat(var(--count), minmax(0, 1fr));gap:3px;display:grid}.riddle-word-1{--count:1;grid-column:1}.riddle-word-2{--count:2;grid-column:3/span 2}.riddle-word-3{--count:4;grid-column:6/span 4}.riddle-word-4{--count:9;grid-column:1/-1}.riddle-slot{background:#9777430a;border-bottom:1px solid #82633980;border-radius:4px 4px 0 0;min-width:0;height:50px}.riddle-slot.is-over{background:#58213d25;border-color:#58213d}.riddle-challenge button.riddle-empty{cursor:pointer;touch-action:manipulation}.riddle-status{min-height:2.8em;margin:1rem 0 0}.riddle-small-actions{justify-content:center;gap:1rem;display:flex}.riddle-challenge .riddle-small-actions button{color:#705639;width:auto;font:400 .78rem var(--font-sans);box-shadow:none;background:0 0;border-radius:4px;margin:.5rem 0 0;padding:.65rem .25rem}.riddle-challenge .riddle-small-actions button:hover:not(:disabled){color:#58213d;box-shadow:none;text-decoration:underline}.riddle-solved .riddle-answer{animation:1.8s ease-out both riddle-reveal}.riddle-solved button.riddle-tile{color:#58213d}.riddle-drag-ghost{z-index:1000;pointer-events:none;color:#fff5dd;width:44px;height:54px;font:400 1.7rem var(--font-serif);background:#58213d;border-radius:5px;place-items:center;display:grid;position:fixed;transform:translate(-50%,-65%);box-shadow:0 7px 18px #29101c40}@keyframes riddle-ink{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes riddle-scatter{0%{left:var(--name-x);top:var(--name-y);transform:rotate(0)}40%{transform:translate(var(--swirl-x), var(--swirl-y)) rotate(var(--turn));top:50px;left:43.75%}to{left:var(--bank-x);top:var(--bank-y);transform:rotate(0)}}@keyframes riddle-reveal{35%{text-shadow:0 0 14px #86244480;transform:scale(1.025)}to{text-shadow:none;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.riddle-challenge *,.riddle-challenge :before{transition:none!important;animation:none!important}}.hunt-opening{overflow-anchor:none;touch-action:manipulation;justify-content:center;height:100svh;min-height:0;padding:clamp(1rem,3svh,2rem) 1rem}.opening-letter{height:100%;padding:clamp(1.5rem,4vw,3rem);overflow:hidden}.opening-viewport{scrollbar-width:none;overflow-anchor:none;height:100%;overflow:hidden}.opening-viewport::-webkit-scrollbar{display:none}.opening-readable{overflow-y:auto}.opening-ink-flow{padding-bottom:5rem;display:flow-root}.opening-letter .letter-crest{width:84px;height:84px;margin-bottom:.9rem}.opening-letter .letter-school{font-size:clamp(1.15rem,4vw,1.7rem)}.opening-letter .letter-rule{margin:1.2rem 0}.letter-rule .letter-tournament-cup{flex:0 0 44px;width:44px;height:auto}.opening-masthead .letter-crest,.opening-masthead .letter-school,.opening-masthead .letter-rule:before,.opening-masthead .letter-rule:after{opacity:var(--heading-opacity,1)}.opening-cup-landing .letter-tournament-cup{visibility:hidden}.opening-flying-cup{z-index:60;pointer-events:none;transform-origin:0 0;position:fixed}.opening-flying-cup .tournament-cup{width:100%;height:100%;display:block}.opening-letter .letter-body h1{font-size:clamp(1.35rem,4vw,1.9rem)}.opening-script{min-height:15rem;padding:.2rem .5rem .5rem;position:relative}.opening-word{white-space:nowrap;display:inline-block}.opening-word.opening-correction{vertical-align:baseline;display:inline-grid}.opening-correction>span{grid-area:1/1}.opening-correction-space{visibility:hidden}.opening-correction-ink{justify-self:start}.opening-character{display:inline-block}.opening-unwritten{visibility:hidden}.opening-interruption{font-style:italic}.opening-signature{white-space:pre-line;font-style:italic}.opening-scatter .opening-ink-flow{animation:.15s ease-out both opening-source-vanish}.opening-flight-layer{z-index:50;pointer-events:none;color:#3c2b1f;position:fixed;inset:0;overflow:hidden}.opening-flight-letter{animation:opening-letters-fly 4.8s cubic-bezier(.45, 0, .25, 1) var(--fly-delay) both;display:block;position:absolute}@keyframes opening-source-vanish{to{opacity:0}}.opening-twins .opening-character:not(.opening-unwritten){animation:.35s ease-out both opening-ink-settle}.opening-footer{text-align:center;padding-top:1.5rem;animation:.6s ease-out both opening-footer-appear}.opening-footer .letter-action{max-width:100%}.opening-screen-reader{clip-path:inset(50%);white-space:pre-line;width:1px;height:1px;position:absolute;overflow:hidden}.opening-read-now{min-height:44px;font-size:.8rem;position:absolute;bottom:.5rem}@keyframes opening-letters-fly{0%{opacity:1;transform:translate(0)rotate(0)}18%{opacity:1;transform:translateY(-4px)rotate(-8deg)}65%{transform:translate(var(--fly-x), var(--fly-y)) rotate(var(--fly-turn));opacity:.8}to{transform:translate(calc(var(--fly-x) * -.3), -12vh) rotate(calc(var(--fly-turn) * 1.5)) scale(.2);opacity:0}}@keyframes opening-ink-settle{0%{opacity:0;transform:translateY(-5px)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes opening-footer-appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.enchanted-map-scene{touch-action:manipulation;background:radial-gradient(at 50% 25%,#73305055,#0000 65%),#29101e;min-height:100dvh;padding:clamp(2rem,7svh,5rem) 1.25rem}.map-parchment-stage{z-index:30;transform-origin:50%;width:min(100%,650px);margin:auto;position:relative}.map-parchment-stage .enchanted-parchment{perspective:1100px;animation:3.4s ease-in-out both map-unfold-outline}.map-fold-leaf{z-index:1;pointer-events:none;backface-visibility:visible;background:var(--paper-texture), linear-gradient(100deg, #d7bf90, #f3e5c1 45%, #e2cca0);border:1px solid #ae8a5350;position:absolute}.fold-side-left,.fold-side-right{width:50%;height:33.334%;top:33.333%}.fold-side-left{transform-origin:100%;animation:1.4s ease-in-out both fold-open-left;left:0}.fold-side-right{transform-origin:0;animation:1.4s ease-in-out both fold-open-right;right:0}.fold-top,.fold-bottom{height:33.334%;left:0;right:0}.fold-top{transform-origin:bottom;animation:1.8s ease-in-out 1.3s both fold-open-top;top:0}.fold-bottom{transform-origin:top;animation:1.8s ease-in-out 1.6s both fold-open-bottom;bottom:0}.map-cross-fold{z-index:3;pointer-events:none;background:linear-gradient(#0000,#65462222 48%,#fff4d855 53%,#0000);height:12px;position:absolute;left:0;right:0;transform:translateY(-50%)}.fold-upper-crease{top:33.333%}.fold-lower-crease{top:66.666%}@keyframes map-unfold-outline{0%{clip-path:inset(33% 46%)}40%{clip-path:inset(33% 0)}to{clip-path:inset(-1%)}}@keyframes fold-open-left{0%{filter:brightness(.65);transform:rotateY(165deg)}to{filter:brightness();transform:rotateY(0)}}@keyframes fold-open-right{0%{filter:brightness(.65);transform:rotateY(-165deg)}to{filter:brightness();transform:rotateY(0)}}@keyframes fold-open-top{0%{filter:brightness(.65);transform:rotateX(-170deg)}to{filter:brightness();transform:rotateX(0)}}@keyframes fold-open-bottom{0%{filter:brightness(.65);transform:rotateX(170deg)}to{filter:brightness();transform:rotateX(0)}}.map-centre-fold{z-index:3;pointer-events:none;background:linear-gradient(90deg,#0000,#65462215 35%,#65462240 48%,#fff4d870 53%,#0000);width:18px;position:absolute;inset:0 auto 0 50%;transform:translate(-50%)}.enchanted-map-content{z-index:2;width:100%;animation:.6s ease-out 3s both opening-footer-appear;position:relative}.enchanted-parchment{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;width:min(100%,650px);min-height:72svh;margin:auto;padding:clamp(1.75rem,5vw,3rem);display:flex}.enchanted-parchment .voice-challenge{width:100%}.enchanted-parchment .wand-incantation{font:italic clamp(1.1rem, 4vw, 1.5rem)/1.6 var(--font-serif)}.enchanted-parchment .voice-challenge .wand-note{max-width:34ch;margin-left:auto;margin-right:auto}.enchanted-whisper{color:#806944;max-width:28ch;font-style:italic;line-height:1.7}.map-ink-title{margin:.5rem 0 1rem;font-size:clamp(1.8rem,7vw,3.3rem);line-height:1.25}.map-makers{white-space:pre-line;letter-spacing:.04em;margin:0;font-size:clamp(.75rem,2.5vw,.95rem);line-height:1.8}.opening-preview-tools{z-index:60;color:#ead8b2;max-height:45svh;font:.8rem var(--font-sans);background:#29101ee8;padding:.6rem 1rem;position:fixed;top:0;left:0;right:0;overflow:auto}.opening-preview-tools summary{cursor:pointer}.opening-preview-tools button{min-height:40px;padding:.45rem .8rem;font-size:.8rem}.opening-preview-tools a{color:#ead8b2}@media (width<=520px){.opening-letter{padding:1.75rem 1.25rem 2rem}.opening-letter .letter-crest{width:64px;height:64px}.opening-script{font-size:.97rem;line-height:1.75}}@media (prefers-reduced-motion:reduce){.opening-flight-layer{display:none}.opening-scatter .opening-ink-flow,.opening-twins .opening-character:not(.opening-unwritten),.opening-footer,.map-parchment-stage .enchanted-parchment,.enchanted-map-content{animation:none}}.map-ink-word{white-space:nowrap;display:inline-block}.map-ink-word>span{transition:opacity 80ms linear}.map-entrance-finished .enchanted-parchment,.map-entrance-finished .map-fold-leaf,.map-entrance-finished .enchanted-map-content{animation:none}.map-sequence-docking .map-parchment-stage{animation:1.6s cubic-bezier(.55,.05,.25,1) both map-dock}.map-sequence-title .map-parchment-stage{visibility:hidden;pointer-events:none}@keyframes map-dock{0%{opacity:1;transform:none}75%{opacity:1}to{transform:translate(var(--dock-x,0px), var(--dock-y,60vh)) scale(.025) rotate(8deg);opacity:0}}.map-arrival-nav{background:#29101ef5;border-top-color:#c5a36a14}.map-arrival-nav a{color:#c4af95;font-family:var(--font-sans);font-size:.75rem;font-weight:300}.map-arrival-target span{animation:1.2s ease-out 1.2s both map-tab-glow}@keyframes map-tab-glow{0%,to{color:#c4af95;text-shadow:none}35%{color:#fff0ce;text-shadow:0 0 22px #e4c48a;transform:scale(1.3)}}.hunt-begins{z-index:5;color:#f4dfac;text-align:center;font:italic clamp(2rem, 8vw, 3.5rem)/1.3 var(--font-serif);place-content:center;margin:0;animation:2.5s ease-out both hunt-begins-appear;display:grid;position:fixed;inset:0 1rem 86px}@keyframes hunt-begins-appear{0%{opacity:0;transform:translateY(10px)scale(.97)}20%,75%{opacity:1;transform:none}to{opacity:0}}.clue-arriving .station-card.parchment-scroll{pointer-events:none;animation:2.1s cubic-bezier(.2,.65,.25,1) both first-scroll-unroll}.clue-arriving .parchment-scroll:before{animation:2.1s cubic-bezier(.2,.65,.25,1) both first-scroll-top}.clue-arriving .parchment-scroll:after{animation:2.1s cubic-bezier(.2,.65,.25,1) both first-scroll-bottom}.clue-arriving .parchment-scroll>:not(.hunt-scroll-crest){animation:.8s ease-out 1.4s both opening-footer-appear}.clue-arriving .parchment-scroll>.hunt-scroll-crest{opacity:1;animation:none}@keyframes first-scroll-unroll{0%{opacity:0;clip-path:inset(calc(50% - 9px) -16px);transform:translate(115vw)rotate(8deg)}10%{opacity:1}30%{opacity:1;clip-path:inset(calc(50% - 9px) -16px);transform:none}to{opacity:1;clip-path:inset(-16px);transform:none}}@keyframes first-scroll-top{0%,30%{top:calc(50% - 6px)}to{top:-7px}}@keyframes first-scroll-bottom{0%,30%{bottom:calc(50% - 6px)}to{bottom:-7px}}@media (prefers-reduced-motion:reduce){.map-fold-leaf,.map-sequence-docking .map-parchment-stage,.map-arrival-target span,.hunt-begins,.clue-arriving .station-card.parchment-scroll,.clue-arriving .parchment-scroll:before,.clue-arriving .parchment-scroll:after,.clue-arriving .parchment-scroll>:not(.hunt-scroll-crest){animation:none}.map-sequence-docking .map-parchment-stage{visibility:hidden}.map-ink-word>span{transition:none;opacity:1!important}}.clue-idle .station-card.parchment-scroll{animation:none}.clue-arriving,.clue-leaving{overflow:hidden}.clue-leaving .station-card.parchment-scroll{pointer-events:none;animation:1.2s ease-in-out both clue-roll-away}.clue-leaving .parchment-scroll:before{animation:.65s ease-in-out forwards clue-roll-top}.clue-leaving .parchment-scroll:after{animation:.65s ease-in-out forwards clue-roll-bottom}.clue-leaving .parchment-scroll>*{animation:.3s ease-out both clue-ink-leave}@keyframes clue-ink-leave{to{opacity:0}}@keyframes clue-roll-top{to{top:calc(50% - 6px)}}@keyframes clue-roll-bottom{to{bottom:calc(50% - 6px)}}@keyframes clue-roll-away{0%{clip-path:inset(-16px);opacity:1;transform:none}55%{clip-path:inset(calc(50% - 9px) -16px);opacity:1;transform:none}to{clip-path:inset(calc(50% - 9px) -16px);opacity:0;transform:translate(-115vw)rotate(-8deg)}}@media (prefers-reduced-motion:reduce){.clue-leaving .station-card.parchment-scroll,.clue-leaving .parchment-scroll:before,.clue-leaving .parchment-scroll:after,.clue-leaving .parchment-scroll>*{animation:none}}.offering-crest>img{object-fit:contain;width:54px;height:54px;display:block}.parchment-scroll>.offering-reveal{text-align:center;color:#453a2c;pointer-events:none;flex-direction:column;align-items:center;gap:1.5rem;display:flex;position:absolute;top:50%;left:1.25rem;right:1.25rem;transform:translateY(-50%)}.offering-dark-mark{flex-shrink:0;width:54px;height:54px;display:block}.offering-reveal>.offering-acknowledgement{font:italic clamp(1.4rem, 5vw, 1.9rem)/1.7 var(--font-serif);text-wrap:balance;margin:0}.clue-offering .offering-crest>img,.clue-offering .parchment-scroll>:not(.hunt-scroll-crest):not(.offering-reveal){pointer-events:none;animation:.5s ease-out forwards offering-old-ink}.clue-offering .parchment-scroll>.offering-reveal{animation:4.2s ease-in-out both offering-reveal}@keyframes offering-old-ink{to{opacity:0}}@keyframes offering-reveal{0%,8%{opacity:0}48%,56%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.clue-offering .offering-crest>img,.clue-offering .parchment-scroll>:not(.hunt-scroll-crest):not(.offering-reveal){opacity:0;animation:none}.clue-offering .parchment-scroll>.offering-reveal{opacity:1;animation:none}}.clue-leaving.offering-revealed .parchment-scroll>*{visibility:hidden}.garden-wordle{width:100%;font-family:var(--font-sans)}.wordle-guide{text-align:center;font-size:.95rem;font-weight:300}.wordle-legend{flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;margin:0 0 1.25rem;font-size:.75rem;display:flex}.wordle-legend span{align-items:center;gap:.35rem;display:inline-flex}.wordle-legend i{border-radius:2px;width:.75rem;height:.75rem}.wordle-history{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.wordle-row{grid-template-columns:repeat(5,minmax(0,1fr));gap:.4rem;width:min(100%,310px);margin:0 auto;display:grid}.wordle-tile{aspect-ratio:1;background:#fff8e840;border:1px solid #927c5a80;border-radius:5px;place-items:center;font-size:clamp(1.25rem,6vw,1.9rem);font-weight:400;display:grid}.wordle-tile.is-filled{border-color:#58344a}.wordle-correct{border-color:#0000;color:#fff!important;background:#416b48!important}.wordle-present{border-color:#0000;color:#fff!important;background:#b75a1b!important}.wordle-absent{border-color:#0000;color:#fff!important;background:#726b63!important}.wordle-active{margin-top:.45rem;scroll-margin-block:5rem 7rem}.wordle-entry{cursor:text;width:min(100%,310px);margin:0 auto;display:block;position:relative}.wordle-entry input{opacity:0;cursor:text;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.wordle-entry:focus-within{outline-offset:4px;border-radius:5px;outline:2px solid #58344a}.wordle-keyboard{gap:.4rem;margin:1.25rem -.75rem 0;display:grid}.wordle-key-row{justify-content:center;gap:.2rem;display:flex}.garden-wordle .wordle-key{min-width:0;max-width:38px;min-height:44px;font:300 clamp(.7rem, 2.6vw, .95rem)/1 var(--font-sans);border-radius:6px;flex:1;padding:.6rem 0;box-shadow:0 2px 4px #29101e18}.garden-wordle .wordle-key-wide{flex:1.6;max-width:58px;font-size:.68rem}.wordle-status{text-align:center;min-height:1.5em;font-size:.85rem}.hunt-scroll-page.is-wordle .parchment-scroll{padding-inline:clamp(1rem,4vw,2.5rem)}.symbol-puzzle{text-align:center;max-width:430px;margin:0 auto}.symbol-guide{font:300 .9rem/1.5 var(--font-sans);color:#705a43}.symbol-answer{justify-content:center;gap:.8rem;margin:1rem 0 1.5rem;display:flex}.symbol-choices{grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;display:grid}.station-card .symbol-choice,.station-card .symbol-slot{aspect-ratio:1;min-height:48px;box-shadow:none;color:#503b29;background:#fff8e84d;border:1px solid #8e70494d;border-radius:9px;place-items:center;margin:0;padding:.3rem;display:grid;position:relative}.station-card .symbol-slot{background:#fff8e85e;border-style:dashed;width:min(30%,90px)}.symbol-puzzle svg{width:100%;max-width:80px;height:auto;display:block}.station-card .symbol-choice:hover:not(:disabled),.station-card .symbol-slot:hover:not(:disabled){color:#503b29;filter:none;background:#fff5d5;box-shadow:0 2px 8px #503b291a}.station-card .symbol-choice[aria-pressed=true]{background:#58213d14;border:2px solid #58213d}.station-card .symbol-slot:disabled{opacity:1}.station-card .symbol-choice:disabled:not([aria-pressed=true]){opacity:.5}.symbol-number{color:#fff2d9;width:1.25rem;height:1.25rem;font:400 .7rem var(--font-sans);background:#58213d;border-radius:50%;place-items:center;display:grid;position:absolute;top:-.3rem;left:-.3rem}.symbol-placeholder{color:#8e7049;font:italic 1.8rem var(--font-serif)}.symbol-puzzle .symbol-submit{max-width:360px;margin:1.5rem auto 0}.symbol-status{color:#705a43;min-height:2.8em;font:300 .85rem/1.4 var(--font-sans);margin:.8rem 0 0}.station-card label.number-question{text-align:center;text-transform:none;letter-spacing:normal;font-size:.85rem}.number-answer{width:100%}.number-answer input{text-align:center;font-family:var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer}.number-answer input:disabled{cursor:default}.number-pad{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;width:min(100%,300px);margin:.9rem auto;display:grid}.number-pad[hidden]{display:none}.number-pad button{width:100%;min-width:0;min-height:48px;font:200 1.2rem var(--font-sans);margin:0;padding:.55rem .3rem}.number-pad button[aria-label=Clear\ number]{font-size:.85rem}.hunt-page{max-width:680px;margin:0 auto;padding:clamp(1.5rem,5vw,3rem) 1.25rem}.task-card{min-height:260px}.task-card .station-prompt{font-size:clamp(1.2rem,3.8vw,1.5rem)}.weekend-shell.is-hunt{color:#ead8b2;background:radial-gradient(at 50% 26%,#73305055,#0000 65%),#29101e}.hunt-scroll-page{width:100%;max-width:680px;min-height:calc(100dvh - 86px - env(safe-area-inset-bottom));flex-direction:column;justify-content:flex-start;padding:clamp(2.5rem,8svh,5rem) clamp(1.5rem,5vw,2.5rem) 3rem;display:flex}.is-hunt .station-card{color:#3c2b1f}.station-card.parchment-scroll{color:#3c2b1f;background:radial-gradient(at 0 0,#a57a3820,#0000 45%),radial-gradient(at 100% 90%,#a57a3818,#0000 40%),repeating-linear-gradient(7deg,#8e704904 0 1px,#0000 1px 4px),linear-gradient(95deg,#e6d5b2,#f6ecd5 12%,#f4e8ce 88%,#e5d3ae);border:1px solid #d2bb9180;border-radius:2px 4px 3px 5px;min-height:350px;padding:clamp(2.5rem,7vw,4rem) clamp(1.5rem,5vw,3rem) clamp(2.5rem,7vw,3.5rem);position:relative;box-shadow:0 18px 42px #0d050a3d,0 2px 6px #0d050a24,inset 0 0 30px #a87d3210}.parchment-scroll:before,.parchment-scroll:after{content:"";z-index:1;pointer-events:none;background:linear-gradient(#e5d4b2,#f3e7ce 45%,#d8c29c);border:1px solid #b89b6b66;border-radius:3px 5px 4px 3px;height:12px;position:absolute;left:-5px;right:-5px;box-shadow:0 3px 5px #52371920}.parchment-scroll:before{top:-7px;transform:rotate(-.35deg)}.parchment-scroll:after{background:linear-gradient(#d8c29c,#f3e7ce 60%,#e5d4b2);bottom:-7px;transform:rotate(.3deg)}.hunt-scroll-crest{object-fit:contain;width:54px;height:54px;margin:0 auto 2rem;display:block}.parchment-scroll>.station-prompt,.parchment-scroll .revealed-clue p{text-align:center;text-wrap:pretty;margin-bottom:2.25rem;font-size:clamp(1.5rem,5.5vw,1.9rem);font-style:italic;line-height:1.7}.parchment-scroll>button,.parchment-scroll>.scan-button{max-width:360px;margin-left:auto;margin-right:auto}.parchment-scroll>.station-prompt:has(+.clue-reveal){margin-bottom:.25rem}.station-card.parchment-scroll>.clue-reveal{color:#705a43;width:fit-content;min-height:44px;box-shadow:none;text-underline-offset:.25em;background:0 0;border-radius:2px;margin:0 auto 1.5rem;padding:.5rem .25rem;font-size:1rem;font-style:italic;-webkit-text-decoration:underline #705a4380;text-decoration:underline #705a4380;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.station-card.parchment-scroll>.clue-reveal:hover:not(:disabled){color:#42182d;box-shadow:none;filter:none;background:0 0;text-decoration-color:currentColor}.is-hunt .weekend-nav{background:#29101ef5;border-top-color:#c5a36a14}.is-hunt .weekend-nav a{color:#c4af95;font-family:var(--font-sans);font-size:.75rem;font-weight:300}.is-hunt .weekend-nav a[aria-current]{color:#f4dfac;background:0 0}.is-hunt .weekend-nav a[aria-current] span{text-shadow:0 0 14px #e4c48a55}.is-hunt .weekend-nav a:hover{color:#fff0ce}.hunt-preview-controls{font:.8rem var(--font-sans);padding:.8rem 1.25rem}.hunt-preview-controls summary{cursor:pointer}.hunt-preview-opening-link{font:.8rem var(--font-sans);margin:0;padding:.75rem 1.25rem 0}.is-hunt .hunt-preview-opening-link a{color:#ead8b2}.hunt-preview-controls button{min-height:40px;padding:.5rem .8rem;font-size:.8rem}.is-hunt .hunt-preview-controls .eyebrow{color:#c4af95}.is-hunt .hunt-preview-controls+.hunt-scroll-page{min-height:calc(100dvh - 130px - env(safe-area-inset-bottom))}.revealed-clue{animation:.65s cubic-bezier(.22,1,.36,1) both clue-unroll;display:grid}.revealed-clue-content{min-height:0;overflow:hidden}.clue-divider{background:linear-gradient(90deg,#0000,#a58a5977,#0000);width:min(65%,180px);height:1px;margin:0 auto;animation:.45s ease-out .15s both clue-ink-appear}.revealed-clue p{white-space:pre-line;margin-top:1.75rem;animation:.55s ease-out .25s both clue-ink-appear}@keyframes clue-unroll{0%{grid-template-rows:0fr}to{grid-template-rows:1fr}}@keyframes clue-ink-appear{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.revealed-clue,.clue-divider,.revealed-clue p{animation:none}}.connection-note{font:.85rem/1.5 var(--font-sans);color:var(--muted)}.owl-letter{margin-bottom:1.5rem}.owl-letter h1{font-size:2.2rem}.sealed-parchment{justify-content:center;align-items:center;gap:1rem;min-height:100px;display:flex!important}.sealed-parchment span{font-size:2rem}.weekend-shell.is-ending{color:#dce6fa;background:#02040a;padding:0}.ending-page{isolation:isolate;text-align:center;min-height:100dvh;padding:max(4rem, env(safe-area-inset-top)) max(1.75rem, env(safe-area-inset-right)) max(4rem, env(safe-area-inset-bottom)) max(1.75rem, env(safe-area-inset-left));color:#dce6fa;background:radial-gradient(at 50% 40%,#10213e 0%,#060c19 48%,#02040a 85%);place-items:center;display:grid;position:relative;overflow:hidden}.ending-message{z-index:1;white-space:pre-line;text-shadow:0 2px 15px #02040a,0 0 35px #02040a;max-width:650px;font-size:clamp(1.4rem,4vw,2.15rem);line-height:1.65;position:relative}.ending-transcript{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ending-performance{align-items:center;display:grid}.ending-passage{opacity:0;visibility:hidden;grid-area:1/1;margin:0;animation:linear forwards ending-passage-spoken}.ending-word{opacity:0;animation:.8s ease-out forwards ending-word-reveal}.ending-warning{color:#f0f5ff;letter-spacing:.04em;text-shadow:0 0 30px #7aa9ff55;font-size:1.3em;animation-name:ending-warning-reveal}@keyframes ending-passage-spoken{0%,88%{opacity:1;visibility:visible}99%{opacity:0;visibility:visible}to{opacity:0;visibility:hidden}}@keyframes ending-word-reveal{0%{opacity:0}to{opacity:1}}@keyframes ending-warning-reveal{to{opacity:1;visibility:visible}}.ending-lightning{fill:none;stroke:#c7e2ff;stroke-width:1.6px;stroke-linejoin:bevel;filter:drop-shadow(0 0 4px #82baff)drop-shadow(0 0 16px #397fff);opacity:.42;pointer-events:none;width:clamp(90px,24vw,360px);height:110%;animation:5s linear infinite both lightning-strike;position:absolute;top:-5%}.ending-lightning-left{left:-2%}.ending-lightning-right{animation-delay:.28s;right:-2%}@keyframes lightning-strike{0%{clip-path:inset(0 -25% 100%);opacity:.7}3%,10%{clip-path:inset(0 -25% -5%);opacity:.7}65%,to{clip-path:inset(0 -25% -5%);opacity:0}}@media (prefers-reduced-motion:reduce){.ending-lightning{animation:none}.ending-performance{display:block}.ending-passage{margin:0 0 1.7em}.ending-passage:last-child{margin-bottom:0}.ending-passage,.ending-word{opacity:1;visibility:visible;animation:none}}.weekend-nav a{width:min(45%,250px)}.school-tools{font:.8rem var(--font-sans);gap:1rem;display:flex}.school-tools a{color:#eddbb1}.station-cleanup{z-index:90;bottom:calc(90px + env(safe-area-inset-bottom));color:#3c2b1f;background:#f3e5c1;border:1px solid #b59560;border-radius:8px;width:min(90vw,500px);max-height:65dvh;padding:1.2rem;position:fixed;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 8px 30px #0006}.station-cleanup p{margin:.6rem 0 1rem}.location-check{color:#392c29;text-align:left;background:#f3e7c9;border:1px solid #b4986480;border-radius:.7rem;max-width:38rem;margin:1rem auto;padding:1.2rem}.location-check h2{margin:0 0 .7rem;font-size:1.2rem}.location-check p{margin:.6rem 0;font-size:.95rem;line-height:1.5}.location-check button{margin-top:.4rem}.opening-waiting .opening-viewport{overflow-y:auto}.host-gps-list{padding:0;list-style:none}.host-gps-list li{border-bottom:1px solid #b4986440;padding:.65rem 0}.host-gps-list small{opacity:.8;margin-top:.25rem;display:block}.map-location-check{color:#392c29;flex:none;padding:.4rem .6rem}.map-location-check summary{cursor:pointer;background:#f3e7c9;border:1px solid #b4986480;border-radius:.5rem;width:fit-content;padding:.5rem .8rem}.map-location-check[open]{max-height:55dvh;overflow-y:auto}.sorting-page{text-align:center;max-width:620px;padding-top:clamp(2rem,8vh,5rem)}.sorting-page>p{color:#ddccb8}.sorting-page h1{color:#f0dcac}.sorting-houses{grid-template-columns:1fr 1fr;gap:.8rem;margin:2rem 0 1rem;display:grid}.sorting-houses button{border:1px solid #cfb58b55;border-radius:6px;min-height:76px;padding:.8rem .4rem;font-size:.95rem}.sorting-houses button[aria-pressed=true]{outline-offset:3px;outline:2px solid #f0dcac}.house-team-1{background:#682d39}.house-team-2{background:#253d60}.house-team-3{background:#71571d}.house-team-4{background:#244b3c}.sorting-reveal{color:#fff0c9;border-radius:6px;padding:1.4rem;font-size:2rem}.sorting-results{color:var(--ink);background:var(--paper);border:1px solid var(--rule);text-align:left;border-radius:6px;margin:1.5rem 0;padding:1.25rem}.sorting-results h3{margin-top:0}.sorting-results p{font:.8rem var(--font-sans);color:var(--muted)}.sorting-result{font:.8rem var(--font-sans);grid-template-columns:100px 1fr 1.5rem;align-items:center;gap:.5rem;margin:.6rem 0;display:grid}.sorting-result meter{width:100%;accent-color:var(--accent)}.sorting-page .sorting-results{color:#f3e6d2;background:0 0;border:1px solid #cfb58b40;border-left:0;border-right:0;border-radius:0;margin-top:2.5rem;padding:1.5rem 0}.sorting-page .sorting-results h3{color:#f0dcac;text-align:center;margin-bottom:1.5rem;font-weight:400}.sorting-page .sorting-results>p{color:#c6b6a5;text-align:center;margin:1.5rem 0 0}.sorting-page .sorting-result{grid-template-columns:100px minmax(0,1fr) 1.5rem;gap:.8rem;margin:1.15rem 0;font-size:.85rem}.sorting-page .sorting-result strong{color:#f0dcac;text-align:right;font-variant-numeric:tabular-nums}.sorting-page .sorting-result[data-house=team-1]{--vote-color:#d27980}.sorting-page .sorting-result[data-house=team-2]{--vote-color:#80a9d7}.sorting-page .sorting-result[data-house=team-3]{--vote-color:#e0bb64}.sorting-page .sorting-result[data-house=team-4]{--vote-color:#82b69b}.sorting-page .sorting-result meter{appearance:none;background:#f3e6d215;border:0;border-radius:1rem;height:.5rem;overflow:hidden}.sorting-page .sorting-result meter::-webkit-meter-bar{height:.5rem;box-shadow:none;background:#f3e6d215;border:0;border-radius:1rem}.sorting-page .sorting-result meter::-webkit-meter-optimum-value{background:var(--vote-color);border-radius:1rem}.sorting-page .sorting-result meter::-moz-meter-bar{background:var(--vote-color);border-radius:1rem}.sorting-note{color:#c6b6a5;font:.8rem/1.5 var(--font-sans);text-align:center}.sorting-host audio{width:100%;margin:.75rem 0 1rem;display:block}.sorting-host label{margin-top:1rem;display:block}.sorting-host input{width:100%;display:block}.sorting-host select{max-width:100%;min-height:48px}.sorting-host summary{cursor:pointer;padding:.8rem 0}.sorting-recording-page{max-width:680px;margin:0 auto}.sorting-recording-page>h1{color:#f0dcac;margin-bottom:.75rem}.sorting-recording-page>a{color:#ddccb8}.sorting-recorder select{width:100%;margin-top:.5rem}.sorting-recorder h2{margin-top:1.5rem}.sorting-record-status{min-height:3rem;font:600 1rem var(--font-sans);align-items:center;gap:.65rem;display:flex}.sorting-record-status.is-recording{color:#8b2236}.recording-light{background:currentColor;border-radius:50%;width:.75rem;height:.75rem}.sorting-recorder .actions{margin:1rem 0}.sorting-download{margin:0 0 1rem}.sorting-waiting{place-items:center;width:100%;min-height:100svh;padding:2rem;display:grid;overflow:hidden}.sorting-waiting-hat{transform-origin:50%;width:min(50vw,240px,45svh);height:auto;animation:22s ease-in-out infinite sorting-hat-float;display:block}@keyframes sorting-hat-float{0%,to{transform:translate(-14vw,-16svh)rotate(-7deg)}25%{transform:translate(15vw,-10svh)rotate(5deg)}50%{transform:translate(12vw,17svh)rotate(-3deg)}75%{transform:translate(-13vw,11svh)rotate(6deg)}}@media (prefers-reduced-motion:reduce){.sorting-waiting-hat{animation:none}}
