:root{--stock-yellow: #f3c81b;--stock-pink: #f58bb0;--stock-green: #94c356;--ink: #161412;--ink-soft: #3d3530;--red: #b80d28;--red-deep: #7a0f22;--paper-white: #fffbea;--night: #121124;--dusk-orange: #ef9a2c;--dusk-red: #c94a2c;--dusk-plum: #6b2140;--dusk-violet: #2a1b40;--frame-sky: #2a3150;--f-wood: "Ultra", "Rockwell Extra Bold", "Rockwell", serif;--f-strap: "Rye", "Rockwell", serif;--f-print: "Old Standard TT", "Georgia", serif;--gutter-left: max(16px, env(safe-area-inset-left, 0px));--gutter-right: max(16px, env(safe-area-inset-right, 0px));--sheet-max: 760px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-quick: .18s;--dur-fold: .38s;color-scheme:light}*{box-sizing:border-box}html{background:var(--night);scroll-behavior:smooth}body{margin:0;background:var(--stock-yellow);color:var(--ink);font-family:var(--f-print);font-size:17px;line-height:1.5}::selection{background:var(--ink);color:var(--stock-yellow)}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.bill{position:relative;background-image:radial-gradient(rgba(22,20,18,.1) 1px,transparent 1.5px);background-size:5px 5px}.bill-yellow{background-color:var(--stock-yellow)}.bill-pink{background-color:var(--stock-pink)}.bill-green{background-color:var(--stock-green)}.bill+.bill{border-top:3px double var(--ink)}.bill-sheet{max-width:var(--sheet-max);margin:0 auto;padding-block:56px 48px;padding-left:var(--gutter-left);padding-right:var(--gutter-right);text-align:center}.bill-title{margin:0 0 28px;font-family:var(--f-wood);font-weight:400;font-size:clamp(34px,7vw,64px);line-height:.95;text-transform:uppercase;letter-spacing:-.01em;text-wrap:balance;padding-bottom:14px;border-bottom:3px double var(--ink)}.bill-subtitle{display:block;margin-top:12px;font-family:var(--f-strap);font-size:clamp(17px,2.6vw,22px);text-transform:none;letter-spacing:0;color:var(--red-deep)}.bill-small{font-size:14px;color:var(--ink-soft);font-style:italic;margin:18px 0 0}.bill-error{margin:16px auto 0;max-width:46ch;padding:10px 14px;border:2px solid var(--ink);background:var(--paper-white);font-size:15px}.ink-button{display:inline-block;background:var(--ink);color:var(--stock-yellow);font-family:var(--f-wood);font-size:18px;text-transform:uppercase;letter-spacing:.03em;text-decoration:none;padding:12px 24px 11px;border:0;cursor:pointer;transition:background-color .2s,color .2s}.ink-button:hover{background:var(--red);color:var(--paper-white)}.ink-button.small{font-size:15px;padding:9px 16px 8px}.text-button{background:none;border:0;padding:4px 2px;font:italic 15px var(--f-print);color:var(--ink);text-decoration:underline;text-underline-offset:.18em;cursor:pointer}.text-button:hover{color:var(--red)}.book-float{transition:opacity .3s,transform .3s}.book-float.is-hidden{opacity:0;transform:translateY(12px);pointer-events:none}.book-float{position:fixed;z-index:20;right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));font-size:16px;box-shadow:0 6px 18px #12112459}.hero{height:calc(var(--screens) * 100svh)}.hero-stage{--curtain: 0;--scenery: 0;--sleigh: 0;position:sticky;top:0;height:100svh;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background-color:var(--stock-yellow);background-image:radial-gradient(rgba(22,20,18,.1) 1px,transparent 1.5px);background-size:5px 5px}.hero-bill{position:relative;z-index:1;text-align:center;padding-block:max(16px,env(safe-area-inset-top,0px)) 10px;padding-left:var(--gutter-left);padding-right:var(--gutter-right)}.billing{margin:0 auto;display:grid;justify-items:center;font-weight:400}.bill-masthead{display:block;width:min(100%,640px);font:italic 400 clamp(16px,2.2vw,21px) var(--f-print);border-top:3px double var(--ink);border-bottom:3px double var(--ink);padding:6px 0 5px}.bill-strap{font-family:var(--f-strap);color:var(--red-deep);font-size:clamp(17px,2.4vw,24px);margin-top:8px}.billing-name{font-family:var(--f-wood);text-transform:uppercase;font-size:clamp(34px,min(8vw,9svh),88px);line-height:.9;letter-spacing:-.01em}.billing-red{font-family:var(--f-wood);text-transform:uppercase;color:var(--red);font-size:clamp(28px,min(6.6vw,7.5svh),72px);line-height:.95}.hero-dates{margin:6px 0 0;font:700 clamp(12px,1.6vw,15px) var(--f-print);letter-spacing:.08em;text-transform:uppercase}.theatre{position:relative;min-height:0;width:min(100% - 2 * 16px,1040px,(100svh - 340px) * 1.6);margin:4px auto 0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:0 clamp(10px,2vw,22px) clamp(10px,2vw,18px);background:var(--red);border:3px solid var(--ink);box-shadow:inset 0 0 0 4px var(--red),inset 0 0 0 6px var(--stock-yellow),0 10px 24px #16141247}.theatre-cartouche{justify-self:center;margin:0;padding:6px 18px 7px;font:400 clamp(13px,1.8vw,18px) var(--f-strap);color:var(--paper-white)}.theatre-stage{position:relative;min-height:0;overflow:hidden;border:3px solid var(--ink);background:var(--night)}.scene-sky{position:absolute;inset:0;background:linear-gradient(180deg,var(--night) 0,#1d1f45 55%,var(--dusk-plum) 100%)}.scene-moon{position:absolute;top:12%;right:18%;width:clamp(40px,9%,84px);aspect-ratio:1;border-radius:50%;background:var(--paper-white);box-shadow:0 0 40px #fffbea59;transform:translateY(calc((1 - var(--scenery)) * -220%));transition:transform 60ms linear}.scene-backdrop{position:absolute;left:0;right:0;bottom:0;height:min(58%,42vw);transform:translateY(calc((1 - var(--scenery)) * -170%))}.scene-roofs{width:100%;height:100%;display:block}.roof-ink{fill:#0b0a18}.roof-snow{fill:var(--paper-white)}.roof-window{fill:var(--stock-yellow)}.wing{position:absolute;bottom:0;height:88%;width:26%}.wing-left{left:0;transform:translate(calc((1 - var(--scenery)) * -110%))}.wing-right{right:0;transform:translate(calc((1 - var(--scenery)) * 110%))}.pine-dark{fill:#10301f;stroke:var(--ink);stroke-width:2}.pine-light{fill:#2e6b3a;stroke:var(--ink);stroke-width:2}.pine-snow{fill:var(--paper-white)}.scene-sleigh{position:absolute;left:50%;top:40%;width:clamp(140px,38%,420px);translate:-50% 0;transform:translate(calc((.5 - var(--sleigh)) * 290%),calc(var(--sleigh) * (1 - var(--sleigh)) * -90%)) rotate(calc((var(--sleigh) - .5) * 14deg))}.scene-sleigh img{display:block;width:100%;height:auto;filter:drop-shadow(0 8px 10px rgba(0,0,0,.45));animation:sleigh-bob 2.6s var(--ease-in-out) infinite alternate}.scene-sleigh>img{position:relative;z-index:1;display:block}.scene-sleigh>.sleigh-santa{position:absolute;z-index:2;left:43%;top:-26%;width:40%;height:auto;animation:santa-wave 1.4s var(--ease-in-out) infinite alternate;transform-origin:50% 90%}@keyframes santa-wave{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)}}@media(prefers-reduced-motion:reduce){.scene-sleigh>.sleigh-santa{animation:none}}.sleigh-rod{position:absolute;left:52%;top:88%;width:4px;height:160%;background:linear-gradient(90deg,#6b4a2a,#a77b4b,#6b4a2a)}@keyframes sleigh-bob{0%{transform:translateY(-3%) rotate(-1.5deg)}to{transform:translateY(3%) rotate(1.5deg)}}.curtain{position:absolute;top:0;bottom:0;width:51%;background:linear-gradient(0deg,var(--stock-yellow) 0 6px,transparent 6px),repeating-linear-gradient(90deg,#6e0716 0,var(--red) 3%,#d8263f 5.5%,var(--red) 8%,#6e0716 11%)}.curtain-left{left:0;transform-origin:left top;transform:translate(calc(var(--curtain) * -88%)) skew(calc(var(--curtain) * 4deg));box-shadow:6px 0 14px #0006}.curtain-right{right:0;transform-origin:right top;transform:translate(calc(var(--curtain) * 88%)) skew(calc(var(--curtain) * -4deg));box-shadow:-6px 0 14px #0006}.valance{position:absolute;top:0;left:0;right:0;height:9%;min-height:22px;background:radial-gradient(circle at 50% 0,var(--red) 62%,transparent 64%) 0 100% / 48px 36px repeat-x,linear-gradient(var(--red) 0,var(--red) 60%,transparent 60%);border-bottom:0;filter:drop-shadow(0 4px 4px rgba(0,0,0,.45))}.valance:after{content:"";position:absolute;left:0;right:0;top:55%;height:3px;background:var(--stock-yellow)}.footlights{position:absolute;left:0;right:0;bottom:0;height:7%;min-height:16px;background:radial-gradient(ellipse at 50% 100%,#ffd678e6 0,#ffd67800 70%) 0 100% / 60px 100% repeat-x,linear-gradient(0deg,var(--ink) 0 34%,transparent 34%)}.hero-foot{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 20px;padding-block:12px max(16px,calc(10px + env(safe-area-inset-bottom,0px)));padding-left:var(--gutter-left);padding-right:var(--gutter-right);text-align:center}.scene-cap{margin:0;font:400 clamp(16px,2vw,19px) var(--f-strap);color:var(--red-deep)}@media(prefers-reduced-motion:reduce){.hero{height:auto}.hero-stage{position:relative;min-height:100svh}.scene-sleigh img{animation:none}}.cast-list{list-style:none;margin:0;padding:0;text-align:left}.cast-row{border-bottom:1px solid rgba(22,20,18,.45)}.cast-head{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"name action" "of action" "who action" "when action" "diet action";align-items:center;gap:1px 16px;background:none;border:0;padding:14px 0;text-align:left;font:inherit;color:inherit;cursor:pointer}.cast-name{grid-area:name;font-family:var(--f-wood);font-size:clamp(22px,4.4vw,32px);line-height:1;text-transform:uppercase}.cast-of{grid-area:of;font-style:italic;font-size:15px}.cast-who{grid-area:who;font-size:16px}.cast-when{grid-area:when;font-family:var(--f-strap);font-size:16px}.cast-when.is-maybe,.cast-when.is-no{color:var(--red-deep)}.cast-action{grid-area:action;font:400 14px var(--f-wood);text-transform:uppercase;background:var(--ink);color:var(--stock-pink);padding:8px 12px 7px;white-space:nowrap;transition:background-color .2s}.cast-head:hover .cast-action{background:var(--red);color:var(--paper-white)}.cast-head[aria-expanded=true] .cast-action{background:none;color:var(--ink);outline:2px solid var(--ink);outline-offset:-2px}.seats{display:grid;gap:12px;padding:0 0 18px}.seat-family{margin:0;border:2px solid var(--ink);background:var(--paper-white);padding:10px 14px 12px;display:grid;gap:8px;min-width:0}.seat-family legend{font:700 17px var(--f-print);padding:0 6px}.seat-mixed{font-style:italic;color:var(--red-deep)}.cast-diet{grid-area:diet;font-size:14px;font-style:italic}.diet-hint{margin:0;font-size:14px;font-style:italic;color:var(--ink-soft)}.diet-field{display:grid;grid-template-columns:minmax(7ch,12ch) 1fr;align-items:center;gap:10px}.diet-name{font-size:15px}.diet-field input{font:16px var(--f-print);padding:8px 10px;border:2px solid var(--ink);background:#fff;color:var(--ink);min-width:0}.diet-field input::placeholder{color:#6b625a}.seat-child{font-weight:400;font-style:italic;color:var(--ink-soft)}.seat-day{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px}.seat-label{font-size:15px}.seat-options{display:inline-flex;border:2px solid var(--ink)}.seat-option{font:700 14px var(--f-print);background:none;border:0;border-left:2px solid var(--ink);padding:7px 12px;min-width:56px;min-height:40px;color:var(--ink);cursor:pointer}.seat-option:first-child{border-left:0}.seat-option.is-on{background:var(--ink);color:var(--paper-white)}.seat-option:not(.is-on):hover{background:#16141214}.seat-nights{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding-top:6px;border-top:1px dashed rgba(22,20,18,.4)}.seat-night{display:inline-flex;align-items:center;gap:6px;font-size:15px;min-height:40px;cursor:pointer}.seat-night input{width:20px;height:20px;accent-color:var(--ink)}@media(max-width:420px){.seat-day{grid-template-columns:1fr;gap:4px}.seat-options{display:flex}.seat-option{flex:1}.seat-nights .seat-label{flex-basis:100%}}.procession{height:calc(var(--screens) * 100svh)}.procession.is-still{height:auto}.procession-track{position:relative;height:100%;display:grid;grid-template-columns:1fr;max-width:1280px;margin:0 auto}.procession-pin{grid-area:1 / 1;position:sticky;top:0;height:100svh;display:grid;align-items:center}.procession-text{grid-area:1 / 1;position:relative;z-index:1;display:grid;align-content:start;gap:70svh;padding:85svh var(--gutter-right) 40svh var(--gutter-left);pointer-events:none}.procession-card{pointer-events:auto;justify-self:center;width:min(100%,420px);background:#94c356f0;border:3px double var(--ink);padding:18px 18px 16px;text-align:center;box-shadow:0 10px 22px #1614122e}.procession-card .bill-title{margin-bottom:10px;font-size:clamp(30px,8vw,46px)}.procession-arrivals{list-style:none;margin:0;display:grid;gap:0;text-align:left}.procession-arrivals li{display:grid;grid-template-columns:1fr auto;gap:0 12px;padding:8px 0;border-bottom:1px solid rgba(22,20,18,.35)}.procession-arrivals li:last-child{border-bottom:0}.arrival-name{font:400 17px var(--f-wood);text-transform:uppercase}.arrival-from{grid-column:1;font-style:italic;font-size:14px}.arrival-state{grid-column:2;grid-row:1 / span 2;align-self:center;font:400 14px var(--f-strap);color:var(--red-deep);transition:color var(--dur-quick) var(--ease-out)}.procession-arrivals li.is-arrived .arrival-state{color:var(--ink)}.is-still .procession-pin{position:relative}.is-still .procession-text{gap:20px;padding-block:40px}@media(min-width:900px){.procession-track{grid-template-columns:minmax(340px,460px) 1fr;gap:0 24px}.procession-pin{grid-area:1 / 2}.procession-text{grid-area:1 / 1;gap:60svh;padding-block:70svh 30svh}.procession-card{justify-self:stretch;background:none;border:0;box-shadow:none;text-align:left;padding:0}.procession-card .bill-title{text-align:left;font-size:clamp(34px,3.6vw,50px)}}.procession-status{margin:0;font-family:var(--f-strap);font-size:18px;min-height:1.6em}.procession-map{width:100%;height:100svh;min-height:0}.land{mask:url(#land-fade);fill:#16141212;stroke:var(--ink);stroke-width:3;stroke-linejoin:round}.road-driven{fill:none;stroke:var(--red);stroke-width:8;stroke-linecap:round;stroke-linejoin:round}.town circle{fill:var(--ink)}.town.is-home circle{fill:var(--red);stroke:var(--ink);stroke-width:4}.town text{font:400 28px var(--f-strap);fill:var(--ink);paint-order:stroke;stroke:var(--stock-green);stroke-width:7px}.town.is-home text{font:400 40px var(--f-wood);fill:var(--red)}.head-spot.is-waiting{transition:transform .9s var(--ease-in-out)}.head image{filter:drop-shadow(0 3px 3px rgba(22,20,18,.35))}.head{transform-box:fill-box;transform-origin:50% 100%;animation:head-bob 1.4s var(--ease-in-out) infinite alternate}@keyframes head-bob{0%{transform:rotate(calc(var(--tilt) * -1))}to{transform:rotate(var(--tilt))}}.head-stick{stroke:#8a6a44;stroke-width:4;stroke-linecap:round}@media(prefers-reduced-motion:reduce){.head{animation:none}}.car-body{fill:var(--ink)}.car-window{fill:var(--stock-green)}.car-wheel{fill:var(--stock-green);stroke:var(--ink);stroke-width:1.4}.map-credit{position:absolute;left:var(--gutter-left);bottom:8px;margin:0;font-size:12px;font-style:italic;color:var(--ink-soft)}.lodgings .bill-sheet:first-child{padding-bottom:8px}.lodgings-drawing{max-width:1100px;margin:0 auto;overflow-x:auto;padding-left:var(--gutter-left);padding-right:var(--gutter-right)}.lodgings-drawing svg{display:block;width:100%;height:auto}.hatch-ground{fill:#f6dd7a}.hatch-line{stroke:var(--ink);stroke-width:1;opacity:.35}.iso-top{stroke:var(--ink);stroke-width:1.4}.iso-room.is-bedroom .iso-top,.iso-room.is-living .iso-top{fill:var(--paper-white)}.iso-room.is-service .iso-top{fill:url(#hatch)}.iso-room.is-storage .iso-top{fill:#16141212;stroke-dasharray:4 4}.iso-room.is-roof .iso-top{fill:#16141224}.iso-front{fill:var(--ink)}.iso-side{fill:#3a3530}.iso-room-name{font:italic 12px var(--f-print);fill:var(--ink);paint-order:stroke;stroke:var(--paper-white);stroke-width:3.5px;stroke-linejoin:round}.plate-label{font:700 15px var(--f-print);fill:var(--ink);paint-order:stroke;stroke:var(--paper-white);stroke-width:4px;pointer-events:none}.tag{cursor:pointer}.tag rect{fill:var(--paper-white);stroke:var(--ink);stroke-width:2;transition:fill .2s}.tag:hover rect{fill:#fff;stroke:var(--red)}.tag-line{fill:none;stroke:var(--red);stroke-width:1.6}.tag-pin{fill:var(--red);stroke:var(--paper-white);stroke-width:2}.tag-who{font:700 15px var(--f-print);fill:var(--ink)}.tag-note{font:italic 12.5px var(--f-print);fill:var(--ink-soft)}.room-list{list-style:none;margin:0;padding:0;text-align:left;border-top:3px double var(--ink)}.room-item{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:baseline;padding:12px 0;border-bottom:1px solid rgba(22,20,18,.45)}.room-name{font-family:var(--f-wood);text-transform:uppercase;font-size:18px}.room-floor{font:italic 15px var(--f-print);text-transform:none}.room-who{grid-column:1;font-size:16px}.room-note{font-style:italic;color:var(--ink-soft)}.room-item .text-button{grid-column:2;grid-row:1 / span 2}.room-by{grid-column:1;font-size:13px;font-style:italic;color:var(--ink-soft)}.room-editor{grid-column:1 / -1;display:grid;gap:6px}.room-editor label{font-size:14px;font-style:italic}.room-editor input{font:17px var(--f-print);padding:9px 10px;border:2px solid var(--ink);background:var(--paper-white);color:var(--ink);min-width:0}.room-editor-actions{display:flex;gap:14px;align-items:center;margin-top:4px}.stage-address{font:normal 400 clamp(26px,5.4vw,40px) var(--f-wood);line-height:1.05;text-transform:uppercase;display:grid}.stage-phone{margin:14px 0 20px;font-size:18px}.stage-phone a{font-weight:700;font-variant-numeric:tabular-nums}.stage-map{border:3px solid var(--ink);background:var(--paper-white);aspect-ratio:4 / 3;max-width:100%}.stage-map iframe{width:100%;height:100%;border:0;display:block;filter:grayscale(.5) sepia(.25)}.stage-door .ink-button{margin-top:18px}.programme-note p{margin:0 auto;max-width:52ch;font-style:italic}.programme-note .bill-sheet{padding-block:32px 96px}.ink-button{transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),transform var(--dur-quick) var(--ease-out),box-shadow var(--dur-quick) var(--ease-out)}.ink-button:hover{transform:translateY(-2px);box-shadow:0 6px 14px #16141238}.ink-button:active{transform:translateY(1px);box-shadow:0 1px 2px #1614124d}a,.text-button{transition:color var(--dur-quick) var(--ease-out),text-decoration-color var(--dur-quick) var(--ease-out)}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.bill-sheet>*{animation:bill-settle linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}}@keyframes bill-settle{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:0s!important}}.programme-nav{position:relative;z-index:5;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 20px;background:var(--ink);color:var(--stock-yellow);padding-block:max(10px,env(safe-area-inset-top,0px)) 10px;padding-left:var(--gutter-left);padding-right:var(--gutter-right)}.programme-venue{font:400 17px var(--f-strap);text-decoration:none}.programme-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 18px}.programme-nav a{color:var(--stock-yellow);text-decoration-color:transparent;text-underline-offset:.25em;font:700 14px var(--f-print);letter-spacing:.06em;text-transform:uppercase}.programme-nav a:hover,.programme-nav a[aria-current=page]{text-decoration-color:currentColor;color:var(--paper-white)}@media(max-width:640px){.programme-nav{display:grid;grid-template-columns:1fr auto;grid-template-areas:"venue band" "bills bills";align-items:center;gap:4px 12px;padding-bottom:0}.programme-venue{grid-area:venue;font-size:15px}.programme-nav .overture{grid-area:band;justify-content:center;min-width:44px;min-height:40px;padding:4px 8px}.overture-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.programme-nav ul{grid-area:bills;flex-wrap:nowrap;gap:20px;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1 * var(--gutter-left)) calc(-1 * var(--gutter-right));padding-inline:var(--gutter-left) var(--gutter-right);-webkit-mask-image:linear-gradient(to right,#000 88%,transparent);mask-image:linear-gradient(to right,#000 88%,transparent)}.programme-nav ul::-webkit-scrollbar{display:none}.programme-nav li{flex:none}.programme-nav li a{display:inline-block;padding-block:10px;font-size:13px;white-space:nowrap}}.fold-summary{width:100%;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;background:none;border:0;padding:12px 0;font:inherit;color:inherit;text-align:left;cursor:pointer}.fold-mark{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;transition:transform var(--dur-fold) var(--ease-in-out)}.fold.is-open .fold-mark{transform:rotate(180deg)}.fold-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-fold) var(--ease-in-out)}.fold.is-open .fold-body{grid-template-rows:1fr}.fold-inner{overflow:hidden;min-height:0}.fold-inner>:first-child{margin-top:0}.fold-inner>:last-child{margin-bottom:14px}.fold-summary:hover .dish-name,.fold-summary:hover .recipe-title{color:var(--red)}.page-head .bill-sheet{padding-bottom:36px}.page-lead{margin:0 auto;max-width:60ch;font-size:18px}.act .bill-title{font-size:clamp(28px,5.4vw,48px)}.course{text-align:left;margin-top:28px}.course-name{margin:0 0 4px;font:400 clamp(19px,2.6vw,23px) var(--f-strap);color:var(--red-deep);border-bottom:3px double var(--ink);padding-bottom:6px}.dish-list{list-style:none;margin:0;padding:0}.dish{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:4px 14px;border-bottom:1px solid rgba(22,20,18,.4)}.dish>.thumbs{padding-top:10px}.dish-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.dish-name{font:700 18px var(--f-print);transition:color var(--dur-quick) var(--ease-out)}.dish-tag{font:italic 13px var(--f-print);padding:1px 8px;border:1px solid var(--ink);background:var(--paper-white)}.dish-tag.is-bringer{background:var(--ink);color:var(--paper-white);border-color:var(--ink);font-style:normal}.dish-detail,.dish-recipe,.dish-votes{margin:0 0 10px;font-size:16px;max-width:62ch}.dish-recipe a{font-style:italic}.dish-votes{font-size:14px;font-style:italic;color:var(--ink-soft)}.dish-options{margin:4px 0 14px;padding:10px 14px;border:2px solid var(--ink);background:var(--paper-white)}.dish-options-lead{margin:0 0 6px;font-style:italic;font-size:15px}.dish-options ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}.dish-option{display:flex;justify-content:space-between;align-items:center;gap:12px;font-weight:700}.dish-option-tag{font-weight:400;font-style:italic;font-size:14px}.thumbs{display:inline-flex;gap:6px}.thumb{display:inline-flex;align-items:center;gap:4px;min-height:40px;min-width:52px;padding:4px 10px;border:2px solid var(--ink);background:transparent;color:var(--ink);font:700 14px var(--f-print);cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out),transform var(--dur-quick) var(--ease-out)}.thumb:hover{background:#16141214;transform:translateY(-1px)}.thumb:active{transform:scale(.94)}.thumb.is-mine{background:var(--ink);color:var(--paper-white)}.thumb.is-mine.is-down{background:var(--red);border-color:var(--red)}.thumb-icon{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.thumb-icon.is-down{transform:rotate(180deg)}.thumb-count{font-variant-numeric:tabular-nums;min-width:1ch}.bring-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 14px}.bring-who{font-weight:700}.bring-form{display:grid;gap:6px;max-width:420px;margin-bottom:14px}.bring-form label{font-style:italic;font-size:14px}.bring-form input{font:16px var(--f-print);padding:9px 10px;border:2px solid var(--ink);background:var(--paper-white);color:var(--ink);min-width:0}.bring-actions{display:flex;gap:14px;align-items:center}.dish .fold-inner>.ink-button{margin-bottom:14px}@media(max-width:480px){.dish{grid-template-columns:1fr}.dish>.thumbs{padding:0 0 10px}}.recipes-tools{display:flex;justify-content:center;gap:18px;margin:-10px 0 18px}.recipe-list{text-align:left;border-top:3px double var(--ink)}.recipe{border-bottom:1px solid rgba(22,20,18,.45);scroll-margin-top:16px}.recipe-summary{display:grid;gap:2px}.recipe-title{font:400 clamp(19px,3vw,24px) var(--f-wood);text-transform:uppercase;line-height:1.05;transition:color var(--dur-quick) var(--ease-out)}.recipe-when{font-style:italic;font-size:15px}.recipe-body{max-width:66ch;font-size:16.5px}.recipe-body p{margin:0 0 10px}.recipe-body ul,.recipe-body ol{margin:0 0 12px;padding-left:1.3em}.recipe-body li{margin-bottom:4px}.recipe-body .lyla{font-style:italic;color:var(--red-deep)}.overture{display:inline-flex;align-items:center;gap:8px;background:none;border:1px solid var(--stock-yellow);color:var(--stock-yellow);font:italic 15px var(--f-print);padding:5px 12px 5px 8px;min-height:36px;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.overture:hover{background:var(--stock-yellow);color:var(--ink)}.overture-icon{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.overture-wave{opacity:.35;transition:opacity var(--dur-quick) var(--ease-out)}.overture.is-playing .overture-wave{opacity:1;animation:overture-pulse 1.1s var(--ease-in-out) infinite alternate}@keyframes overture-pulse{0%{opacity:.45}to{opacity:1}}@media(prefers-reduced-motion:reduce){.overture.is-playing .overture-wave{animation:none}}.night-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:-6px auto 4px;max-width:560px;border:2px solid var(--ink)}.night-tab{display:grid;gap:0;padding:8px 4px 7px;background:none;border:0;border-left:2px solid var(--ink);color:var(--ink);cursor:pointer;font:inherit;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.night-tab:first-child{border-left:0}.night-tab:hover{background:#16141214}.night-tab.is-on{background:var(--ink);color:var(--stock-yellow)}.night-date{font:400 clamp(20px,4vw,28px) var(--f-wood);line-height:1}.night-name{font-size:12.5px;font-style:italic}.iso-hit{fill:transparent}.iso-room>:not(.iso-hit){transition:transform .26s var(--ease-out),fill .2s var(--ease-out);pointer-events:none}.iso-room:not(.is-roof):hover>:not(.iso-hit){transform:translateY(-7px)}.tag-pin,.tag-line,.plate-label,.iso-room-name{pointer-events:none}.iso-room.is-living:hover .iso-top,.iso-room.is-service:hover .iso-top,.iso-room.is-storage:hover .iso-top{fill:var(--stock-green)}.iso-room.is-sleepable{cursor:pointer}.iso-room.is-sleepable:hover .iso-top{fill:var(--stock-pink)}@media(prefers-reduced-motion:reduce){.iso-room:not(.is-roof):hover>:not(.iso-hit){transform:none}}.gantt-sheet{max-width:980px}.gantt-hint{display:none;margin:-14px 0 10px;font-size:14px;font-style:italic}@media(max-width:640px){.gantt-hint{display:block}}.gantt-wrap{overflow-x:auto;margin:0 calc(-1 * var(--gutter-left));padding:0 var(--gutter-left)}.gantt{display:block;width:100%;min-width:640px;height:auto;font-family:var(--f-print)}.gantt-grid{stroke:#1614122e}.gantt-axis{stroke:var(--ink);stroke-width:2}.gantt-hour{font:700 12px var(--f-print);fill:var(--ink);font-variant-numeric:tabular-nums}.gantt-showtime{stroke:var(--red);stroke-width:2;stroke-dasharray:6 5}.gantt-group{font:400 15px var(--f-strap);fill:var(--red-deep)}.gantt-name{font:400 14.5px var(--f-print);fill:var(--ink)}.gantt-row.is-showtime .gantt-name{font-weight:700}.gantt-span{font:italic 12px var(--f-print);fill:var(--ink);font-variant-numeric:tabular-nums}.gantt-bar{fill:var(--ink)}.gantt-row.is-showtime .gantt-bar{fill:var(--red)}.gantt-row rect.gantt-bar+.gantt-span[text-anchor=middle]{fill:var(--paper-white);font-style:normal;font-weight:700}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.gantt-bar{transform-box:fill-box;transform-origin:0 50%;animation:bar-draw linear both;animation-timeline:view();animation-range:entry 10% cover 45%}}}@keyframes bar-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.cue-list{list-style:none;margin:0;padding:0;text-align:left;border-top:3px double var(--ink)}.cue{border-bottom:1px solid rgba(22,20,18,.4);transition:background-color var(--dur-quick) var(--ease-out)}.cue-summary{display:grid;grid-template-columns:3.8em 1fr auto;align-items:baseline;gap:12px}.cue-time{font:400 20px var(--f-wood);font-variant-numeric:tabular-nums}.cue-what{font-size:18px}.cue.is-showtime .cue-what{font-weight:700}.cue.is-showtime .cue-time{color:var(--red-deep)}.cue.is-now{background:var(--paper-white);box-shadow:inset 4px 0 0 var(--red);padding-inline:10px}.cue-now{font:400 13px var(--f-wood);text-transform:uppercase;background:var(--red);color:var(--paper-white);padding:3px 8px 2px}.cue-detail{margin:0 0 8px;max-width:62ch;padding-left:calc(3.8em * 20 / 17 + 12px)}.cue-recipes{margin:0 0 12px;padding-left:calc(3.8em * 20 / 15 + 12px);font-size:15px;font-style:italic}.fold-summary:hover .cue-what{color:var(--red)}.countdown{list-style:none;margin:0;padding:0;text-align:left;display:grid;gap:22px}.countdown-stage{display:grid;grid-template-columns:minmax(150px,200px) 1fr;gap:6px 22px;padding-top:14px;border-top:3px double var(--ink)}.countdown-when{margin:0;font:400 20px var(--f-wood);text-transform:uppercase;line-height:1.1}.countdown-stage.is-urgent .countdown-when{color:var(--red)}.countdown-jobs{list-style:none;margin:0;padding:0;display:grid;gap:8px}.countdown-jobs label{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;cursor:pointer}.countdown-jobs input{width:20px;height:20px;margin-top:3px;accent-color:var(--ink)}.countdown-jobs li.is-done .job-text{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;opacity:.7}.job-by{display:block;margin-left:34px;font-size:13px;font-style:italic;color:var(--ink-soft)}@media(max-width:600px){.countdown-stage{grid-template-columns:1fr}}.sideshow-day+.sideshow-day{margin-top:18px}.sideshow-day{text-align:left}.sideshow-list{margin:6px 0 0;padding:0;list-style:none}.sideshow-list li+li{margin-top:6px}.signup{margin:8px 0 14px;padding:10px 14px;border:1px solid var(--ink);background:color-mix(in srgb,var(--paper-white) 35%,transparent)}.signup-count{margin:0}.signup-open{font-style:italic;text-decoration:underline;text-underline-offset:.2em}.signup-family{border:0;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:0 16px}.signup-family legend{padding:0;font-weight:700;font-size:14px;letter-spacing:.04em;text-transform:uppercase}.shop-tally{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 24px;margin:16px 0 4px;font-size:17px}.shop-tally b{font:400 26px var(--f-wood);font-variant-numeric:tabular-nums}.text-button.is-confirming{color:var(--red);font-weight:700}.shop-group{font-size:clamp(28px,5vw,44px)}.shop-list{list-style:none;margin:0;padding:0;text-align:left;border-top:3px double var(--ink)}.shop-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;align-items:start;padding:12px 0;border-bottom:1px solid rgba(22,20,18,.4)}.shop-tick{display:grid;grid-template-columns:24px 1fr;gap:10px;align-items:start;cursor:pointer}.shop-tick input{width:20px;height:20px;margin-top:3px;accent-color:var(--ink)}.shop-tick input:disabled{opacity:.35;cursor:not-allowed}.shop-text{font-size:17px}.shop-item.is-done .shop-text{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;opacity:.7}.shop-meta{display:grid;justify-items:end;gap:2px;text-align:right;max-width:260px}.shop-who{font:400 14px var(--f-strap);background:var(--ink);color:var(--paper-white);padding:2px 8px}.shop-by{font-size:13px;font-style:italic;color:var(--ink-soft)}.shop-claim{justify-items:end}@media(max-width:600px){.shop-item{grid-template-columns:1fr}.shop-meta{justify-items:start;text-align:left;max-width:none;padding-left:34px}}.shop-added{font-size:13px;font-style:italic;color:var(--ink-soft)}.shop-add{display:flex;gap:10px;margin-top:14px}.shop-add input{flex:1;min-width:0;font:16px var(--f-print);padding:9px 10px;border:2px solid var(--ink);background:var(--paper-white);color:var(--ink)}.shop-add input::placeholder{color:#6b625a;font-style:italic}@media(max-width:420px){.shop-add{flex-direction:column}}.idea-form{display:grid;gap:12px;max-width:560px;margin:0 auto;text-align:left}.idea-form label{display:grid;gap:4px;font-weight:700;font-size:15px}.idea-form input,.idea-form select{font:16px var(--f-print);padding:9px 10px;border:2px solid var(--ink);background:var(--paper-white);color:var(--ink);min-width:0}.idea-form button{justify-self:start}.idea-list{max-width:560px;margin:20px auto 0;padding-left:1.1em;text-align:left}.idea-list li+li{margin-top:8px}.idea-where{font-style:italic}.shop-view-bar{position:sticky;top:0;z-index:4;border-top:0}.shop-view-sheet{padding-block:10px}.shop-view{display:inline-grid;grid-template-columns:1fr 1fr;border:2px solid var(--ink)}.shop-view-tab{font:400 15px var(--f-wood);text-transform:uppercase;padding:9px 18px 8px;background:var(--paper-white);color:var(--ink);border:0;cursor:pointer;transition:background-color var(--dur-quick) var(--ease-out),color var(--dur-quick) var(--ease-out)}.shop-view-tab+.shop-view-tab{border-left:2px solid var(--ink)}.shop-view-tab.is-on{background:var(--ink);color:var(--stock-yellow)}.family-picker select{font:16px var(--f-print);padding:8px 10px;border:2px solid var(--ink);background:var(--paper-white);color:var(--ink);min-width:0}.shop-meta .bring-actions{justify-content:flex-end}.tesco{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 16px;margin:-8px 0 18px}.tesco-link{font-size:14px;font-style:italic}.tesco-text{flex-basis:100%;font:15px var(--f-print);padding:10px;border:2px solid var(--ink);background:var(--paper-white);color:var(--ink);resize:vertical}.scaled{text-decoration:underline dotted var(--red);text-decoration-thickness:2px;text-underline-offset:.2em;cursor:help}.scale-note{margin:12px auto 0;max-width:60ch;font-size:14px;font-style:italic}.scale-note.is-changed{background:var(--paper-white);border:2px solid var(--ink);padding:8px 12px;font-style:normal}.recipe-refs{margin:4px 0 10px;padding:10px 14px;border:2px solid var(--ink);background:var(--paper-white);max-width:66ch}.recipe-refs-head{margin:0 0 4px;font:400 15px var(--f-strap);color:var(--red-deep)}.recipe-refs ul{margin:0;padding-left:1.2em;font-size:15.5px}.recipe-refs li{margin-bottom:4px}.recipe-where{margin:0 0 14px;font-size:14.5px;font-style:italic}.kit-list{text-align:left}.is-flash{animation:flash 2.4s var(--ease-out)}@keyframes flash{0%,30%{background-color:var(--paper-white)}to{background-color:transparent}}
