/* generated by tools/thanksgiving/build-tg.py — edit the mockup, not this file */

/* theme guards FIRST (the mockup has no theme CSS; the live page sits inside the Newspaper theme, whose element rules
   would otherwise replace the browser defaults the mockup was drawn with). Every mockup rule below still wins over these. */
.btg h1,.btg h2,.btg h3,.btg h4,.btg h5{color:inherit;text-transform:none}
.btg p{margin:1em 0}
.btg li{margin-left:0;line-height:inherit}
.btg small{font-size:smaller;line-height:inherit}
.btg summary{display:list-item}
.btg button{font:400 13.3333px Arial,sans-serif;color:#000;line-height:normal;letter-spacing:normal;text-transform:none;min-height:auto}
.btg img{max-width:none}
.btg a:hover,.btg a:focus{text-decoration:none}
.btg .band{position:relative;overflow:hidden;width:100%;background:#f4e6d6;isolation:isolate}
.btg .band .bcv{position:absolute;left:0;top:0;height:620px;transform-origin:0 0}
.btg .band .ly-sky{position:absolute;inset:0;width:100%;height:100%}
.btg .band .lyw{position:absolute;left:0;top:0;will-change:transform}
.btg .band .lyw svg{display:block}
.btg .band .lw-clouds{top:0}
.btg .band .train{position:absolute;left:0;top:0;transform-origin:0 0}
.btg .band .tr-car{position:absolute;top:0;width:1200px;height:380px;transform-origin:0 0;transform:translateY(var(--bob,0px)) scale(.78)}
.btg .band .tr-l{left:-930px}
.btg .band .tr-c{left:0}
.btg .band .tr-r{left:930px}
.btg .car{position:relative;width:1200px;height:380px}
.btg .car>svg{position:absolute;left:0;top:0;overflow:visible}
.btg .car .cbody{pointer-events:none}
.btg .car .cbody path,.btg .car .cbody rect,.btg .car .cbody text{pointer-events:none}
.btg .car .cbooks{position:absolute;inset:0}
.btg .car .cb{position:absolute;transform:translateY(-100%);z-index:1}
.btg .car .cb .b3{cursor:pointer}
.btg .band .bfx{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.btg .band .lw-fore{pointer-events:none}
.btg .band-host{height:min(620px,43.06vw)}
@media(max-width:899px){.btg .band-host{height:372px}
}
@media(max-width:519px){.btg .band-host{height:291px}
}
.btg{--ink:#2b2233;--soft:#4a3f4c;--muted:#6f6270;--paper:#fdf8f1;--cream:#fbf2e2;--cran:#a8324a;--cran2:#7c2238;--brass:#e4b65e;--brass2:#a97b2c;--plum:#4a3d58;--sage:#5f7f6a;--line:#eadfce;
 --serif:Fraunces,Georgia,serif;--read:Newsreader,Georgia,serif;--ui:Inter,system-ui,sans-serif;--hand:Caveat,cursive}
.btg{scroll-behavior:smooth}
.btg{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--ui);-webkit-font-smoothing:antialiased;overflow-x:clip}
.btg #jh *,.btg #jh *:before,.btg #jh *:after{box-sizing:border-box}
.btg #jh .w{max-width:1320px;margin:0 auto;padding:0 40px}
.btg #jh a{color:inherit}
.btg #jh .eyebrow{display:inline-block;font:700 12px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--cran)}
.btg #jh .h2{font:500 clamp(32px,4.2vw,52px)/1.08 var(--serif);letter-spacing:-.015em;margin:.25em 0 .35em;color:var(--ink)}
.btg #jh .sub{font:400 19px/1.62 var(--read);color:var(--soft);max-width:760px;margin:0}
.btg #jh .sec{padding:110px 0 30px}
.btg #jh .sec-head{margin-bottom:44px}
.btg #jh .btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:15px 26px;font:600 16px var(--ui);text-decoration:none;cursor:pointer;transition:transform .25s,box-shadow .25s}
.btg #jh .btn.p{color:#fff;background:linear-gradient(120deg,#c0463e,#e2823a);box-shadow:0 16px 30px -14px rgba(176,64,40,.8)}
.btg #jh .btn.o{color:var(--ink);background:#fff;box-shadow:0 10px 26px -14px rgba(60,30,40,.45)}
.btg #jh .btn:hover{transform:translateY(-2px)}
.btg .hand{font:700 22px/1.1 var(--hand);color:var(--cran2)}
.btg .hero-jh{position:relative;overflow:hidden;background:linear-gradient(#ddd0ea,#f4d6d8 46%,#fde4cf 72%,#fff0dc);min-height:760px}
.btg .hero-jh .h-wrap{position:absolute;left:0;right:0;bottom:0;height:780px;pointer-events:none}
.btg .hero-jh .h-wrap:after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(#efe3d4,#e2d0bc);z-index:-1}
.btg .h-stage{position:absolute;left:50%;bottom:0;width:1440px;height:780px;transform-origin:50% 100%;pointer-events:auto}
.btg .h-stage>*{position:absolute}
.btg .h-stage .h-bg{left:-460px;top:0;width:2360px;height:780px}
.btg .h-copy{position:relative;z-index:5;max-width:1320px;margin:0 auto;padding:40px 40px 0;pointer-events:none}
.btg .h-copy>*{pointer-events:auto}
.btg .h-chips{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btg .upd,.btg .h-days{display:inline-flex;gap:7px;align-items:center;background:rgba(255,255,255,.85);border-radius:999px;padding:8px 16px;font:600 14px var(--ui);color:#8a3a1a;box-shadow:0 8px 20px -14px rgba(80,40,40,.5)}
.btg .h-days{color:var(--soft);font-weight:500}
.btg .h-days b{font:700 15px var(--ui);color:var(--cran)}
.btg .hero-jh h1{font:500 clamp(40px,4.4vw,62px)/1 var(--serif);letter-spacing:-.025em;margin:20px 0 16px;color:#2a1f2e;white-space:nowrap}
.btg .hero-jh h1 em{font-style:italic;color:var(--cran);font-weight:400}
.btg .hero-jh .sub{max-width:560px;font-size:19px}
.btg .hero-jh .acts{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.btg .h-note{position:absolute;z-index:6;left:560px;top:368px;font:700 21px/1.15 var(--hand);color:var(--cran2);text-align:right;transform:rotate(-3deg);margin:0;opacity:.9}
.btg .dboard{left:836px;top:52px;width:304px;z-index:3;cursor:pointer;filter:drop-shadow(0 18px 24px rgba(60,30,60,.28))}
.btg .dboard .chain{position:absolute;top:-60px;width:3px;height:64px;background:repeating-linear-gradient(#7a6a88 0 6px,#b5a8c4 6px 9px)}
.btg .dboard .chain.l{left:40px}
.btg .dboard .chain.r{right:40px}
.btg .db-in{background:linear-gradient(#2f4a42,#24392f);border:5px solid #a97b2c;border-radius:12px;padding:12px 14px 12px;color:#fbe9c0;box-shadow:inset 0 0 0 2px #e4b65e}
.btg .db-h{display:flex;justify-content:space-between;font:700 11px var(--ui);letter-spacing:.24em;text-transform:uppercase;color:#f3c45e;border-bottom:1px solid rgba(243,196,94,.35);padding-bottom:7px;margin-bottom:9px}
.btg .db-clock{font:700 12px var(--ui);letter-spacing:.06em}
.btg .db-row{display:flex;justify-content:space-between;gap:8px;font:600 12.5px var(--ui);padding:5px 0;color:#f7e2b4}
.btg .db-row.big{font:500 19px var(--serif);color:#fff6e0}
.btg .db-row.big b{color:#ffd27a;font-weight:600}
.btg .db-row .ok{color:#9be0a8}
.btg .db-row.sm{font:500 11px var(--ui);color:#cfe0c8;border-top:1px solid rgba(243,196,94,.25);margin-top:6px;padding-top:8px;display:block}
.btg .db-cd{display:flex;gap:7px;margin:6px 0 4px}
.btg .db-cd .fl{flex:1;text-align:center;background:#0d1511;border-radius:6px;padding:6px 0 4px;position:relative;box-shadow:inset 0 2px 5px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.07)}
.btg .fds{--fh:36px;display:flex;justify-content:center;gap:3px;height:var(--fh)}
.btg .fd{position:relative;display:block;width:26px;height:var(--fh);perspective:110px;font:600 30px/var(--fh) var(--serif);color:#ffe6a6;font-variant-numeric:tabular-nums;text-align:center;border-radius:4px;box-shadow:0 2px 3px rgba(0,0,0,.7)}
.btg .fd i{position:absolute;left:0;right:0;height:calc(var(--fh)/2);overflow:hidden;display:block;font:inherit;color:inherit;background:linear-gradient(#3b4e44,#2e3f36)}
.btg .fd .ft,.btg .fd .lu{top:0;border-radius:4px 4px 0 0;transform-origin:50% 100%}
.btg .fd .fb,.btg .fd .ll{bottom:0;background:linear-gradient(#26362d,#1d2b24);border-radius:0 0 4px 4px;transform-origin:50% 0}
.btg .fd .fb:before,.btg .fd .lv:before{content:attr(data-c);display:block}
.btg .fd .fb:before,.btg .fd .ll:before{margin-top:calc(var(--fh)/-2)}
.btg .fd:after{content:"";position:absolute;left:-1px;right:-1px;top:50%;height:2px;margin-top:-1px;background:#070c09;z-index:3}
.btg .fds:has(.fd:nth-child(3)) .fd{width:21px;font-size:25px}
.btg .fd .lv{z-index:2;backface-visibility:hidden;will-change:transform}
.btg .fd .lv s{position:absolute;inset:0;background:#000;opacity:0;text-decoration:none}
.btg .db-cd small{font:600 9.5px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#bcd0b8}
.btg .h-train{left:0;top:0;width:1440px;height:780px;pointer-events:none}
.btg .h-train>*{position:absolute;pointer-events:auto}
.btg .h-car{left:12px;top:474px;transform:scale(.64);transform-origin:0 0}
.btg .h-tender{left:786px;top:458px;transform:scale(.82);transform-origin:0 0;cursor:pointer}
.btg .h-loco{left:972px;top:458px;transform:scale(.82);transform-origin:0 0;cursor:pointer}
.btg .h-steam{left:0;top:0;width:1440px;height:780px;pointer-events:none;z-index:2;overflow:visible}
.btg .puff{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#f6eef4 55%,rgba(240,228,236,.0) 72%);pointer-events:none;will-change:transform,opacity}
.btg .lamp{pointer-events:none}
.btg .lamp .glow{animation:tgglow 3s ease-in-out infinite}
@keyframes tgglow{50%{opacity:.6}}
.btg .lamp .basket{animation:tgsway 4s ease-in-out infinite}
@keyframes tgsway{50%{transform:rotate(4deg)}}
.btg .bench{pointer-events:none}
.btg .fig{width:120px;height:168px;margin:-160px 0 0 -60px;transform:scale(var(--s,1));transform-origin:60px 160px}
.btg .fig svg{overflow:visible;display:block}
.btg .fig[data-egg]{cursor:pointer}
.btg .fig .eyes{animation:tgblink 5s infinite;transform-box:fill-box;transform-origin:center}
@keyframes tgblink{0%,94%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
.btg .fig.student .pp{animation:tgbob 1.2s ease-in-out infinite}
@keyframes tgbob{50%{transform:translateY(-2px)}}
.btg .fig.mum .steam path{animation:tgsteam 2.4s ease-in-out infinite;opacity:0}
.btg .fig.mum .steam path:nth-child(2){animation-delay:1.2s}
@keyframes tgsteam{0%{opacity:0;transform:translateY(4px)}40%{opacity:.9}100%{opacity:0;transform:translateY(-8px)}}
.btg .fig.mum.ate .slice{opacity:0;transition:opacity .4s}
.btg .fig.grandpa .pg{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.btg .fig.grandpa.down .pg{transform:translateY(26px)}
.btg .fig .flag .fl{transform-box:fill-box;transform-origin:0 50%;animation:tgflagw 1.6s ease-in-out infinite}
@keyframes tgflagw{50%{transform:skewY(6deg) scaleX(.92)}}
.btg .fig.conductor.blow .wh{opacity:1}
.btg .fig.conductor.blow .arm-r{transform:rotate(-120deg)}
.btg .fig .arm-r,.btg .fig .arm-l{transition:transform .4s}
.btg .wave .arm-r{animation:tgwave 1.1s ease-in-out infinite}
@keyframes tgwave{0%,100%{transform:rotate(-150deg)}50%{transform:rotate(-110deg)}}
.btg .trolley{width:250px;height:180px}
.btg .trolley .tr-art{position:absolute;left:0;top:0}
.btg .trolley .tr-books{position:absolute;left:12px;top:22px;width:120px;height:80px}
.btg .trolley .crate{position:absolute;left:10px;top:62px}
.btg .trolley .tr-books .b3{position:absolute}
.btg .trolley .tr-dog{position:absolute;left:148px;top:-46px;width:84px;cursor:pointer}
.btg .trolley .tr-dog svg{width:84px;height:70px}
.btg .dogb .dhead{transition:transform .5s cubic-bezier(.3,1.5,.5,1)}
.btg .dogb .dog{transform:translateY(16px);transition:transform .4s cubic-bezier(.3,1.5,.5,1)}
.btg .tr-dog:hover .dog,.btg .tr-dog.up .dog{transform:translateY(0)}
.btg .tr-dog.up .tongue{animation:tgpant .3s infinite alternate}
@keyframes tgpant{to{transform:translateY(2px)}}
.btg .pigeons{left:0;top:0;width:1px;height:1px;cursor:pointer}
.btg .pgn{position:absolute;overflow:visible;cursor:pointer}
.btg .pgn .ph{animation:tgpeck 2.2s ease-in-out infinite;transform-box:view-box}
.btg .pgn.p1 .ph{animation-delay:.7s}
.btg .pgn.p2 .ph{animation-delay:1.3s}
@keyframes tgpeck{0%,60%,100%{transform:rotate(0)}70%{transform:rotate(38deg)}80%{transform:rotate(0)}}
.btg .pgn.fly{transition:transform 1.6s cubic-bezier(.4,0,.6,1),opacity 1.6s;opacity:0}
.btg .h-tubs{left:0;top:0}
.btg .tub{position:absolute;top:708px;pointer-events:none}
.btg .h-sign{pointer-events:none}
.btg .h-leaves{left:0;top:0;width:1440px;height:780px;pointer-events:none;overflow:hidden}
.btg .h-stage .clock,.btg .h-stage [data-egg]{cursor:pointer}
.btg .clock.spin #hMn,.btg .clock.spin #hHr{transition:transform 1.4s cubic-bezier(.5,0,.3,1)}
.btg .h-loco.toot .bell{animation:tgring .25s 4}
@keyframes tgring{50%{transform:rotate(14deg);transform-origin:394px 76px}}
.btg .bubble{position:absolute;z-index:20;background:#fff;border-radius:16px;padding:9px 14px;font:600 14px/1.3 var(--ui);color:var(--ink);box-shadow:0 14px 30px -16px rgba(60,30,40,.6);pointer-events:none;white-space:nowrap;animation:tgpop .3s cubic-bezier(.3,1.6,.5,1)}
.btg .bubble:after{content:"";position:absolute;left:22px;bottom:-7px;border:8px solid transparent;border-top-color:#fff;border-bottom:0}
@keyframes tgpop{from{transform:scale(.6);opacity:0}}
.btg .route{position:sticky;top:78px;z-index:40;background:rgba(253,248,241,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.btg .rt-in{max-width:1320px;margin:0 auto;padding:0 40px;display:flex;gap:4px;align-items:center;overflow-x:auto;scrollbar-width:none;position:relative}
.btg .rt-in::-webkit-scrollbar{display:none}
.btg .rt-in:before{content:"";position:absolute;left:150px;right:40px;top:50%;height:2px;background:repeating-linear-gradient(90deg,#d8c8b4 0 10px,transparent 10px 16px);pointer-events:none}
.btg .rt-lbl{font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:#9a8a7a;padding-right:10px;flex:none}
.btg .route a{position:relative;flex:none;padding:14px 13px;font:600 14px var(--ui);text-decoration:none;color:var(--soft);border-radius:999px;white-space:nowrap}
.btg .route a:before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:#fff;border:2px solid #c9a87a;margin-right:7px;vertical-align:1px}
.btg .route a.on{color:var(--cran2)}
.btg .route a.on:before{background:var(--cran);border-color:var(--cran)}
.btg .route a:hover{color:var(--ink)}
.btg .tickets{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.btg .tkt{position:relative;background:#fffaf2;border-radius:18px;padding:26px 20px 22px;box-shadow:0 26px 50px -30px rgba(80,40,40,.45);display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;transition:transform .35s}
.btg .tkt:hover{transform:translateY(-6px) rotate(-.6deg)}
.btg .tkt:before,.btg .tkt:after{content:"";position:absolute;left:-12px;top:52%;width:24px;height:24px;border-radius:50%;background:var(--paper)}
.btg .tkt:after{left:auto;right:-12px}
.btg .tkt .perf{position:absolute;left:14px;right:14px;top:calc(52% + 12px);border-top:2px dashed #e6d6c0}
.btg .tkt .no{position:absolute;left:16px;top:14px;width:40px;height:40px;border-radius:50%;background:var(--cran);color:#fff;font:600 20px/40px var(--serif);text-align:center;box-shadow:0 0 0 4px #fbe2e2}
.btg .tkt .cls{position:absolute;right:16px;top:20px;font:700 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass2)}
.btg .tkt .bkw{height:250px;display:flex;align-items:flex-end;justify-content:center;margin:14px 0 30px}
.btg .tkt .course{font:700 11px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--cran)}
.btg .tkt h3{font:600 20px/1.15 var(--serif);margin:6px 0 2px}
.btg .tkt .by{font:500 13.5px var(--ui);color:var(--muted)}
.btg .tkt p{font:400 15px/1.5 var(--read);color:var(--soft);margin:10px 0 12px}
.btg .badge{display:inline-flex;align-items:center;gap:6px;font:700 11px var(--ui);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:6px 11px;background:#eaf2e6;color:#3f6a4a;text-decoration:none}
.btg .badge.soon{background:#fdeedd;color:#a8572a}
.btg .shelf{padding:120px 0 20px;position:relative}
.btg .sh-head{display:grid;grid-template-columns:auto 1fr;gap:10px 34px;align-items:start;margin-bottom:34px}
.btg .car-plate{grid-row:span 3;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c4465e,#7c2238);color:#f7d58a;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:inset 0 0 0 5px #7c2238,inset 0 0 0 7px #e4b65e,0 20px 40px -24px rgba(124,34,56,.8)}
.btg .car-plate .cp-no{font:700 11px var(--ui);letter-spacing:.2em;text-transform:uppercase;opacity:.9}
.btg .car-plate .cp-name{font:600 19px/1.1 var(--serif);margin-top:5px;padding:0 14px}
.btg .car-plate svg{width:34px;height:20px;margin-top:6px}
.btg .sh-meta{display:flex;gap:16px;flex-wrap:wrap;font:600 13px var(--ui);color:var(--muted);margin-top:14px}
.btg .sh-meta span{display:inline-flex;gap:6px;align-items:center;background:#fff;border-radius:999px;padding:6px 13px;box-shadow:0 6px 16px -12px rgba(60,30,30,.5)}
.btg .band-wrap{position:relative;margin:0 0 40px}
.btg .band-wrap .band{border-radius:0}
.btg .band-wrap:before,.btg .band-wrap:after{content:"";position:absolute;left:0;right:0;height:26px;z-index:3;pointer-events:none}
.btg .band-wrap:before{top:0;background:linear-gradient(var(--paper),rgba(253,248,241,0))}
.btg .band-wrap:after{bottom:0;background:linear-gradient(rgba(253,248,241,0),var(--paper))}
.btg .band .leg-tag{position:absolute;z-index:4;left:24px;top:22px;background:rgba(255,255,255,.88);border-radius:999px;padding:7px 14px 7px 10px;font:600 13px var(--ui);color:var(--soft);display:flex;gap:8px;align-items:center;box-shadow:0 8px 18px -12px rgba(60,30,40,.5)}
.btg .band .leg-tag i{width:10px;height:10px;border-radius:50%;background:var(--cran);box-shadow:0 0 0 3px #fbe2e2}
.btg .rack{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:44px 28px}
.btg .bk-item{position:relative;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.btg .bk-item .bkw{height:196px;display:flex;align-items:flex-end;justify-content:center;position:relative;width:100%}
.btg .bk-item .bkw:after{content:"";position:absolute;left:-14px;right:-14px;bottom:-9px;height:9px;border-radius:5px;background:linear-gradient(#fbe3a2,#e2b45c 45%,#a97b2c);box-shadow:0 8px 12px -8px rgba(80,50,20,.6)}
.btg .bk-item .tagw{position:relative;margin-top:30px;width:100%;display:flex;justify-content:center}
.btg .bk-item .tagw:before{content:"";position:absolute;top:-30px;left:50%;width:2px;height:34px;background:#c9a77c;transform:rotate(-8deg);transform-origin:top}
.btg .tagw{filter:drop-shadow(0 10px 14px rgba(90,50,40,.16))}
.btg .tag{position:relative;width:100%;max-width:240px;background:linear-gradient(#fffdf8,#fff6e8);border-radius:6px 6px 14px 14px;padding:22px 16px 16px;text-align:left;clip-path:polygon(16% 0,84% 0,100% 12%,100% 100%,0 100%,0 12%);transition:transform .3s}
.btg .bk-item:hover .tag{transform:rotate(-1.5deg)}
.btg .tag:before{content:"";position:absolute;left:50%;top:7px;width:11px;height:11px;margin-left:-5px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px #e4b65e}
.btg .tag h3{font:600 18px/1.18 var(--serif);margin:4px 0 3px}
.btg .tag .by{font:500 13px var(--ui);color:var(--muted)}
.btg .tag p{font:400 14.5px/1.5 var(--read);color:var(--soft);margin:8px 0 10px}
.btg .grat{display:grid;grid-template-columns:1fr 1.1fr;gap:60px;align-items:center;background:linear-gradient(135deg,#f6efe2,#fbe6da);border-radius:30px;padding:56px;position:relative;overflow:hidden}
.btg .grat .g-art{position:relative;height:360px}
.btg .grat-books{display:flex;gap:26px;align-items:flex-end;margin:24px 0 28px;flex-wrap:wrap}
.btg .grat-books .gb{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;width:150px;text-align:center}
.btg .grat-books .gb b{font:600 15px/1.2 var(--serif)}
.btg .grat-books .gb small{font:500 12.5px var(--ui);color:var(--muted)}
.btg .games{background:linear-gradient(#fdf8f1,#f7ecdf 30%,#f7ecdf 80%,#fdf8f1);padding-bottom:80px!important}
.btg .guide{display:grid;grid-template-columns:180px 1fr;gap:40px}
.btg .g-con{display:flex;flex-direction:column;align-items:center;gap:10px;position:sticky;top:160px;align-self:start;text-align:center}
.btg .gu-cols{display:grid;grid-template-columns:1fr 1fr;gap:56px}
.btg .gu-list{list-style:none;padding:0;margin:20px 0 0;display:grid;gap:16px}
.btg .gu-list li{font:400 17px/1.6 var(--read);color:var(--soft);padding-left:36px;position:relative}
.btg .gu-list li:before{content:"";position:absolute;left:0;top:5px;width:20px;height:20px;border-radius:50%;background:var(--cran);box-shadow:0 0 0 4px #fbe2e2}
.btg .gu-list b{font-family:var(--serif);font-weight:600;color:var(--ink)}
.btg .guide p{font:400 17px/1.7 var(--read);color:var(--soft)}
.btg .tot{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;perspective:1400px}
.btg .tc{min-height:250px}
.btg .tc-in{position:relative;height:100%;min-height:250px;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,1.2,.4,1)}
.btg .tc.done .tc-in{transform:rotateY(180deg)}
.btg .tc-f,.btg .tc-b{position:absolute;inset:0;backface-visibility:hidden;border-radius:16px;padding:22px 20px;background:#fffaf2;box-shadow:0 20px 40px -28px rgba(80,40,40,.5);display:flex;flex-direction:column}
.btg .tc-f:before{content:"";position:absolute;right:18px;top:18px;width:46px;height:30px;border:2px dashed #e6d6c0;border-radius:6px}
.btg .tc-n{font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass2)}
.btg .tc-f p{font:500 16.5px/1.45 var(--serif);margin:12px 0 auto;color:var(--ink)}
.btg .tb{display:flex;gap:8px;margin-top:16px}
.btg .tb button{flex:1;border:0;border-radius:999px;padding:10px 0;font:600 14px var(--ui);cursor:pointer;background:#f3e6d4;color:var(--ink);transition:background .2s}
.btg .tb button:hover{background:#ecd8bc}
.btg .tc-b{transform:rotateY(180deg);background:linear-gradient(160deg,#fff7ea,#fbe8d8);font:400 15.5px/1.55 var(--read);color:var(--soft);justify-content:center}
.btg .tc-b b{font:600 20px var(--serif);color:var(--cran2);display:block;margin-bottom:6px}
.btg .tc-b:after{content:attr(data-r);position:absolute;right:16px;top:14px;transform:rotate(12deg);font:700 13px var(--ui);letter-spacing:.12em;text-transform:uppercase;border:3px solid currentColor;border-radius:8px;padding:4px 9px;opacity:.85}
.btg .tc.right .tc-b:after{color:#3f8a52}
.btg .tc.wrong .tc-b:after{color:#c4364a}
.btg .score{font:600 16px var(--ui);margin-top:24px;color:var(--soft)}
.btg .line{list-style:none;margin:0;padding:0;position:relative}
.btg .line:before{content:"";position:absolute;left:118px;top:10px;bottom:10px;width:12px;border-radius:6px;background:repeating-linear-gradient(#b8a8c4 0 4px,#d8cce0 4px 14px);box-shadow:inset 3px 0 0 #8f86a8,inset -3px 0 0 #8f86a8}
.btg .line li{display:grid;grid-template-columns:96px 60px 1fr;align-items:start;padding:14px 0}
.btg .line .yr{font:600 26px/1 var(--serif);color:var(--cran2);text-align:right;padding-top:16px}
.btg .line li:before{content:"";grid-column:2;grid-row:1;justify-self:center;margin-top:12px;width:28px;height:28px;border-radius:50%;background:#fff;border:5px solid var(--cran);box-shadow:0 0 0 5px var(--paper);position:relative;z-index:1}
.btg .line .st{grid-column:3;grid-row:1;background:#fffaf2;border-radius:16px;padding:18px 22px;box-shadow:0 16px 30px -24px rgba(80,40,40,.5);display:grid;grid-template-columns:1fr auto;gap:4px 22px;align-items:center}
.btg .line .st h3{font:600 20px/1.2 var(--serif);margin:0}
.btg .line .st p{grid-column:1;font:400 16px/1.55 var(--read);color:var(--soft);margin:0}
.btg .line .tlb{grid-column:2;grid-row:1/span 2;display:flex;gap:10px;align-items:center;cursor:pointer;font:600 13px/1.25 var(--ui);color:var(--soft);max-width:220px}
.btg .line .tlb small{display:block;color:var(--muted);font-weight:500}
.btg .other{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;background:linear-gradient(140deg,#eef0e4,#f6ead8);border-radius:30px;padding:56px}
.btg .other .sub{margin-bottom:26px}
.btg .other-art{border-radius:22px;overflow:hidden;aspect-ratio:5/4;box-shadow:0 30px 60px -36px rgba(40,50,40,.6)}
.btg .other-art svg{width:100%;height:100%;display:block}
.btg .arrive{padding-top:110px}
.btg .a-wrap{position:relative;height:640px;overflow:hidden;background:linear-gradient(#7d6f9e,#c79ab4 40%,#f3b9a2 72%,#ffd7a6)}
.btg .a-stage{position:absolute;left:50%;bottom:0;width:1440px;height:640px;transform-origin:50% 100%}
.btg .a-stage>*{position:absolute}
.btg .a-stage .a-bg{left:0;top:0;width:1440px;height:640px}
.btg .a-loco{left:56px;top:382px;display:flex;align-items:flex-end;transform:scale(.66);transform-origin:0 0}
.btg .a-loco svg{position:relative}
.btg .a-loco .tender{margin-right:-4px}
.btg .a-steam{left:0;top:0;width:1440px;height:640px;pointer-events:none}
.btg .a-dog{left:1000px;top:544px}
.btg .a-dog svg{width:60px;height:50px}
.btg .a-dog .dog{transform:none}
.btg .fig.walk .pp{animation:tgbob .9s ease-in-out infinite}
.btg .a-acts{position:relative;margin-top:-90px;z-index:2}
.btg .a-acts .sec-head{background:var(--paper);border-radius:28px 28px 0 0;padding:40px 40px 0;margin:0 -40px 30px}
.btg .acts4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.btg .act{background:#fffaf2;border-radius:18px;padding:26px 24px;box-shadow:0 20px 40px -30px rgba(80,40,40,.5);position:relative;overflow:hidden}
.btg .act:before{content:"";position:absolute;right:-18px;top:-18px;width:70px;height:70px;border-radius:50%;background:#fbe8d8}
.btg .act h3{font:600 22px var(--serif);margin:0 0 8px;position:relative}
.btg .act p{font:400 16px/1.55 var(--read);color:var(--soft);margin:0 0 14px}
.btg .act a{font:600 14px var(--ui);color:var(--cran);text-decoration:none}
.btg .faq{max-width:900px!important}
.btg .faq details{background:#fffaf2;border-radius:16px;margin:0 0 12px;box-shadow:0 12px 30px -26px rgba(80,40,40,.6);overflow:hidden}
.btg .faq summary{list-style:none;cursor:pointer;padding:20px 60px 20px 24px;font:600 19px/1.3 var(--serif);position:relative}
.btg .faq summary::-webkit-details-marker{display:none}
.btg .faq summary:after{content:"";position:absolute;right:24px;top:50%;width:26px;height:16px;margin-top:-8px;border-radius:4px;background:var(--cran);clip-path:polygon(0 0,100% 0,100% 30%,88% 50%,100% 70%,100% 100%,0 100%,0 70%,12% 50%,0 30%);transition:transform .3s}
.btg .faq details[open] summary:after{transform:rotate(90deg)}
.btg .faq details p{margin:0;padding:0 24px 22px;font:400 17px/1.65 var(--read);color:var(--soft)}
.btg .change{display:grid;grid-template-columns:auto 1fr auto;gap:36px;align-items:center;background:linear-gradient(120deg,#ece2f4,#f6e4ee);border-radius:26px;padding:36px 44px}
.btg .ch-sign{background:#4a3d68;color:#f3e6ff;border-radius:14px;padding:16px 22px;text-align:center;box-shadow:inset 0 0 0 3px #8a7ab0,0 16px 30px -18px rgba(60,40,90,.8)}
.btg .ch-sign b{display:block;font:600 22px var(--serif)}
.btg .ch-sign span{font:600 12px var(--ui);letter-spacing:.1em;text-transform:uppercase;opacity:.8}
.btg .more{padding-bottom:110px!important}
.btg .hunt-wrap{position:fixed;left:18px;bottom:18px;z-index:60;display:flex;align-items:center;gap:6px;background:#fff;border-radius:999px;padding:5px 14px 5px 5px;box-shadow:0 14px 34px -14px rgba(60,30,20,.55)}
.btg .hunt{display:flex;align-items:center;gap:11px;background:none;border:0;cursor:pointer;text-align:left;color:var(--ink);padding:4px 12px 4px 4px;border-right:1px solid #eee3d6;font-family:var(--ui)}
.btg .hunt .hunt-ic{width:40px;height:40px;border-radius:50%;background:#fdf0d4;display:grid;place-items:center}
.btg .hunt .hunt-ic svg{width:30px;height:18px}
.btg .hunt b{display:block;font:700 14.5px/1.2 var(--ui)}
.btg .hunt small{font:500 12px var(--ui);color:var(--muted)}
.btg .hunt.got{animation:tgpop .4s}
.btg .sw{display:flex;align-items:center;gap:8px;font:600 12.5px var(--ui);color:var(--soft);cursor:pointer;padding-left:6px}
.btg .sw input{position:absolute;opacity:0;width:1px;height:1px}
.btg .sw i{width:34px;height:20px;border-radius:99px;background:#d8cfc4;position:relative;transition:background .2s}
.btg .sw i:after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.btg .sw input:checked+i{background:var(--sage)}
.btg .sw input:checked+i:after{transform:translateX(14px)}
.btg .sw input:focus-visible+i{outline:2px solid var(--cran);outline-offset:2px}
.btg .routemap{position:fixed;right:18px;bottom:18px;z-index:59;background:rgba(255,255,255,.94);border-radius:20px;padding:6px 12px 8px;box-shadow:0 14px 34px -14px rgba(60,30,20,.55);width:252px}
.btg .routemap svg{display:block;width:228px;height:41px;overflow:visible}
.btg .routemap .rm-st{cursor:pointer}
.btg .rm-next{display:block;font:600 11.5px var(--ui);color:var(--muted);text-align:center;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.btg .buddy{position:fixed;right:96px;bottom:78px;z-index:58;width:74px;height:62px;pointer-events:none}
.btg .buddy svg{width:74px;height:62px}
.btg .buddy .dog{transform:translateY(13px);transition:transform .45s cubic-bezier(.3,1.6,.5,1)}
.btg .buddy.up .dog{transform:translateY(0)}
.btg .plane{position:fixed;left:0;top:0;z-index:58;pointer-events:none;opacity:0;transition:opacity .4s;will-change:transform}
.btg .plane.on{opacity:1}
.btg .toast{position:fixed;left:50%;bottom:96px;z-index:90;transform:translate(-50%,30px);opacity:0;background:var(--ink);color:#fff;border-radius:14px;padding:12px 20px;font:600 14.5px var(--ui);transition:all .35s;pointer-events:none;max-width:90vw;text-align:center}
.btg .toast.on{opacity:1;transform:translate(-50%,0)}
.btg .hunt-t{position:absolute;z-index:6;cursor:pointer;background:none;border:0;padding:4px;animation:tgshimmer 3s ease-in-out infinite}
.btg .hunt-t svg{display:block;filter:drop-shadow(0 4px 6px rgba(120,80,20,.35))}
.btg .hunt-t.found{animation:tgfound .8s forwards;pointer-events:none}
@keyframes tgshimmer{50%{transform:rotate(-8deg) scale(1.06);filter:brightness(1.12)}}
@keyframes tgfound{to{transform:translateY(-60px) rotate(30deg) scale(.4);opacity:0}}
.btg .qv{position:fixed;inset:0;z-index:100;background:rgba(40,28,40,.5);backdrop-filter:blur(4px);display:grid;place-items:center;padding:20px}
.btg .qv[hidden]{display:none}
.btg .qv-card{position:relative;background:#fffaf2;border-radius:24px;padding:36px;max-width:640px;width:100%;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;box-shadow:0 40px 80px -30px rgba(40,20,30,.6);animation:tgpop .35s cubic-bezier(.3,1.5,.5,1)}
.btg .qv-card .qv-k{font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--cran)}
.btg .qv-card h3{font:600 28px/1.1 var(--serif);margin:8px 0 4px}
.btg .qv-card .by{font:500 14px var(--ui);color:var(--muted)}
.btg .qv-card p{font:400 17px/1.55 var(--read);color:var(--soft)}
.btg .qvx{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;border:0;background:#f3e6d4;cursor:pointer;font:600 18px var(--ui)}
.btg .surprise{position:fixed;inset:0;z-index:85;pointer-events:none;overflow:hidden}
.btg .sp-geese{position:absolute;top:18%;left:-260px;animation:tggeese 7s linear forwards}
@keyframes tggeese{to{transform:translateX(calc(100vw + 520px)) translateY(-60px)}}
.btg .sp-geese .gw{animation:tgflap .5s ease-in-out infinite alternate}
@keyframes tgflap{to{transform:scaleY(-.6)}}
.btg .sp-xing{position:absolute;left:20px;bottom:110px;width:200px;height:230px;animation:tgxin 4.4s ease forwards}
.btg .sp-xing .arm{transform-origin:24px 40px;animation:tgarm 4.4s ease forwards}
@keyframes tgarm{0%{transform:rotate(-80deg)}20%,75%{transform:rotate(0)}100%{transform:rotate(-80deg)}}
@keyframes tgxin{0%{transform:translateY(260px)}12%,85%{transform:none}100%{transform:translateY(260px)}}
.btg .sp-xing .l1{animation:tgblinkr .6s infinite}
.btg .sp-xing .l2{animation:tgblinkr .6s .3s infinite}
@keyframes tgblinkr{50%{opacity:.15}}
.btg .sp-steam{position:absolute;top:-40px;left:-30%;width:160%;height:200px;animation:tgsteamx 4s ease-out forwards}
@keyframes tgsteamx{from{transform:translateX(-30%);opacity:0}20%{opacity:.95}to{transform:translateX(40%);opacity:0}}
.btg .sp-turkey{position:absolute;bottom:20px;left:-120px;animation:tgtdash 3.4s cubic-bezier(.5,0,.5,1) forwards}
@keyframes tgtdash{to{transform:translateX(calc(100vw + 260px))}}
.btg .sp-turkey svg{animation:tghop .25s infinite alternate}
@keyframes tghop{to{transform:translateY(-8px)}}
@media(max-width:1180px){.btg .hero-jh h1{white-space:normal}
.btg .tickets{grid-template-columns:repeat(3,1fr)}
.btg .tot{grid-template-columns:repeat(2,1fr)}
.btg .acts4{grid-template-columns:repeat(2,1fr)}
.btg .gu-cols{grid-template-columns:1fr;gap:30px}
.btg .dboard{left:700px}
}
@media(max-width:900px){.btg .h-note{display:none}
.btg .grat,.btg .other{grid-template-columns:1fr;padding:36px}
.btg .guide{grid-template-columns:1fr}
.btg .g-con{position:static;flex-direction:row}
.btg .change{grid-template-columns:1fr;text-align:left}
}
@media(max-width:700px){.btg #jh .w{padding:0 18px}
.btg #jh .sec{padding:72px 0 20px}
.btg #jh .sub{font-size:17.5px}
.btg .hero-jh{min-height:0;display:flex;flex-direction:column}
.btg .h-copy{padding:22px 18px 0}
.btg .hero-jh h1{margin:16px 0 12px}
.btg .hero-jh .acts .btn{padding:13px 20px;font-size:15px}
.btg .hero-jh .h-wrap{position:relative;height:auto}
.btg .h-copy .dboard{position:relative;left:auto;top:auto;width:auto;margin:20px 0 0;filter:drop-shadow(0 12px 16px rgba(60,30,60,.22))}
.btg .h-copy .dboard .chain{display:none}
.btg .route{top:64px}
.btg .rt-in{padding:0 12px}
.btg .rt-in:before{display:none}
.btg .rt-lbl{display:none}
.btg .route a{padding:12px 9px;font-size:13.5px}
.btg .tickets{grid-template-columns:1fr;gap:18px}
.btg .tkt{display:grid;grid-template-columns:120px 1fr;text-align:left;align-items:center;gap:0 18px;padding:20px 18px}
.btg .tkt .bkw{height:170px;margin:10px 0 0;grid-row:span 5}
.btg .tkt:before,.btg .tkt:after,.btg .tkt .perf{display:none}
.btg .tkt .no{left:auto;right:14px;top:14px;width:34px;height:34px;font-size:17px;line-height:34px}
.btg .tkt .cls{display:none}
.btg .shelf{padding:76px 0 10px}
.btg .sh-head{grid-template-columns:1fr;gap:6px}
.btg .car-plate{grid-row:auto;width:auto;height:auto;border-radius:999px;flex-direction:row;gap:10px;padding:9px 18px;justify-self:start}
.btg .car-plate .cp-name{font-size:15px;margin:0;padding:0}
.btg .car-plate svg{display:none}
.btg .band .leg-tag{left:12px;top:10px;font-size:11.5px;padding:5px 10px 5px 8px}
.btg .rack{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:6px 18px 24px;margin:0 -18px;scrollbar-width:none}
.btg .rack::-webkit-scrollbar{display:none}
.btg .bk-item{flex:none;width:66vw;max-width:270px;scroll-snap-align:center;background:linear-gradient(#f8eddc,#fdf8f1);border-radius:20px;padding:18px 14px 14px}
.btg .rack-dots{display:flex;justify-content:center;gap:6px;margin-top:-6px}
.btg .grat{padding:26px 20px;gap:20px}
.btg .grat .g-art{height:220px}
.btg .tot{grid-template-columns:1fr}
.btg .line:before{left:22px}
.btg .line li{grid-template-columns:46px 1fr;padding:10px 0}
.btg .line li:before{grid-column:1;width:22px;height:22px;border-width:4px;margin-top:6px}
.btg .line .yr{grid-column:2;grid-row:1;text-align:left;padding:0 0 8px;font-size:22px}
.btg .line .st{grid-column:2;grid-row:2;grid-template-columns:1fr;padding:16px}
.btg .line .tlb{grid-column:1;grid-row:auto;margin-top:8px}
.btg .other{padding:26px 20px;gap:24px}
.btg .a-wrap{height:340px}
.btg .a-acts{margin-top:-40px}
.btg .a-acts .sec-head{padding:26px 18px 0;margin:0 -18px 20px}
.btg .acts4{grid-template-columns:1fr}
.btg .change{padding:26px 22px;gap:18px}
.btg .faq summary{font-size:17px;padding:18px 54px 18px 18px}
.btg .hunt-wrap{left:10px;bottom:10px;right:auto;padding:4px 10px 4px 4px}
.btg .hunt small{display:none}
.btg .hunt b{font-size:13px}
.btg .hunt .hunt-ic{width:34px;height:34px}
.btg .sw span{display:none}
.btg .routemap{right:10px;bottom:10px;width:auto;padding:6px 10px}
.btg .routemap svg{width:120px;height:40px}
.btg .rm-next{display:none}
.btg .buddy,.btg .plane{display:none}
.btg .qv-card{grid-template-columns:1fr;justify-items:center;text-align:center;padding:28px 20px}
}
@media(prefers-reduced-motion:reduce){.btg *,.btg *:before,.btg *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.btg{scroll-behavior:auto}
}
html.ph .btg .fig.mum{left:1190px!important}
html.ph .btg .fig.student{left:1290px!important}
html.ph .btg .fig.grandpa,html.ph .btg .bench{display:none}
html.ph .btg .hunt-t[data-tk=hero]{left:720px!important;top:740px!important}
.btg .routemap,.btg .buddy{transition:opacity .4s,transform .4s}
.btg .routemap.away,.btg .buddy.away{opacity:0;transform:translateY(20px);pointer-events:none}
.btg #jh button,.btg #jh a,.btg .g-panel *{touch-action:manipulation}
.btg #jh .hero-jh .sub{max-width:640px}
.btg .g-tiles{display:grid;grid-template-columns:repeat(8,1fr);gap:14px}
.btg .g-tile{position:relative;border:0;background:#fffaf2;border-radius:18px;padding:18px 10px 14px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;box-shadow:0 14px 30px -24px rgba(80,40,40,.6);transition:transform .25s,background .25s;font-family:var(--ui);color:var(--ink);text-align:center}
.btg .g-tile:hover{transform:translateY(-3px)}
.btg .g-tile.on{background:#3a2c3e;color:#fff}
.btg .g-tile.on small{color:#e6d6e6}
.btg .g-tile svg{width:52px;height:52px}
.btg .g-tile b{font:700 14px/1.2 var(--ui)}
.btg .g-tile small{font:500 12px/1.3 var(--ui);color:var(--muted)}
.btg .g-tile .new{position:absolute;top:-8px;right:10px;background:#c4502a;color:#fff;font:800 9.5px var(--ui);letter-spacing:.1em;border-radius:99px;padding:3px 7px}
.btg .g-tile.stamped:after{content:"";position:absolute;left:10px;top:10px;width:12px;height:12px;border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 2px #c9a77c}
.btg .passport{display:flex;align-items:center;gap:22px;margin:22px 0 26px;background:linear-gradient(90deg,#fff6e2,#fdf0dc);border-radius:16px;padding:16px 22px;box-shadow:0 14px 30px -26px rgba(80,40,40,.7);position:relative;border:2px dashed #e6cfa8}
.btg .pp-l b{display:block;font:700 15px var(--ui)}
.btg .pp-l small{font:500 12.5px var(--ui);color:var(--muted)}
.btg .pp-holes{display:flex;gap:9px;flex-wrap:wrap;flex:1}
.btg .pp-holes i{width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 2px #ead8bc;display:grid;place-items:center;position:relative}
.btg .pp-holes i svg{width:18px;height:18px;opacity:.45}
.btg .pp-holes i.on{background:radial-gradient(circle,#f3e6d6 0 45%,#7c2238 46% 100%);box-shadow:none}
.btg .pp-holes i.on svg{display:none}
.btg .pp-holes i.pop{animation:tgpunch .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes tgpunch{0%{transform:scale(1.6)}100%{transform:scale(1)}}
.btg .pp-x{border:0;background:none;font:600 12px var(--ui);color:var(--muted);cursor:pointer;text-decoration:underline}
.btg .g-panel{background:#fffdf8;border-radius:28px;box-shadow:0 30px 60px -40px rgba(80,40,40,.6);padding:40px 44px 36px;min-height:420px;position:relative}
.btg .g-panel h3.gt{font:500 34px/1.1 var(--serif);text-align:center;margin:0}
.btg .g-panel p.gd{font:400 18px/1.5 var(--read);color:var(--soft);text-align:center;margin:8px auto 26px;max-width:640px}
.btg .gbtn{border:0;border-radius:999px;padding:13px 24px;font:600 15px var(--ui);cursor:pointer;background:linear-gradient(120deg,#c0463e,#e2823a);color:#fff;box-shadow:0 12px 24px -14px rgba(176,64,40,.8);touch-action:manipulation}
.btg .gbtn.o{background:#f3e6d4;color:var(--ink);box-shadow:none}
.btg .gbtn:disabled{opacity:.5;cursor:default}
.btg .grow{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.btg .pick{display:none;margin:26px auto 0;max-width:620px;background:linear-gradient(120deg,#fff6e6,#fbeee0);border-radius:20px;padding:20px 24px;align-items:center;gap:22px;box-shadow:0 16px 30px -24px rgba(80,40,40,.6)}
.btg .pick.on{display:flex;animation:tgpop .4s cubic-bezier(.3,1.5,.5,1)}
.btg .pick .pk-t small{display:block;font:700 11px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--cran)}
.btg .pick .pk-t b{display:block;font:600 22px/1.15 var(--serif);margin:4px 0}
.btg .pick .pk-t span{font:500 13.5px var(--ui);color:var(--muted)}
.btg .pick .pk-t p{font:400 15px/1.45 var(--read);color:var(--soft);margin:6px 0 10px}
.btg .pick .gbtn{padding:9px 16px;font-size:13.5px}
.btg .mn-wrap{display:grid;grid-template-columns:1fr 1.25fr;gap:30px;align-items:start}
.btg .mn-tray{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.btg .dish{display:flex;gap:10px;align-items:center;background:#fff;border-radius:14px;padding:10px 12px;cursor:grab;box-shadow:0 8px 18px -14px rgba(60,30,30,.6);touch-action:none;user-select:none;font:600 14px/1.25 var(--ui)}
.btg .dish small{display:block;font:500 12px var(--ui);color:var(--muted)}
.btg .dish svg{width:44px;height:44px;flex:none}
.btg .dish.used{opacity:.35}
.btg .dish.drag{position:fixed;z-index:200;pointer-events:none;box-shadow:0 20px 40px -14px rgba(60,30,30,.6);transform:rotate(-4deg)}
.btg .mn-table{background:linear-gradient(#fffaf2,#f6ead8);border-radius:22px;padding:22px;position:relative;box-shadow:inset 0 0 0 2px #ead8bc}
.btg .mn-table:before{content:"Dining car · Table 3";display:block;font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass2);text-align:center;margin-bottom:12px}
.btg .mn-plates{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.btg .plate{aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 52%,#f1e8da 53% 60%,#fff 61% 66%,#e6d6c0 67% 69%,transparent 70%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font:700 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#b8a48a;transition:transform .3s;padding:12%}
.btg .plate.hot{transform:scale(1.06)}
.btg .plate.full{color:var(--cran)}
.btg .plate .pd{font:600 13px/1.2 var(--serif);text-transform:none;letter-spacing:0;color:var(--ink);margin-top:4px}
.btg .plate .b3{margin-top:4px}
.btg .qz{max-width:760px;margin:0 auto;text-align:center}
.btg .qz-q{font:500 26px/1.25 var(--serif);margin:0 0 20px}
.btg .qz-n{font:700 12px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass2)}
.btg .qz-a{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.btg .qz-a button{border:0;background:#fff;border-radius:16px;padding:18px 14px;cursor:pointer;font:600 15px/1.3 var(--ui);box-shadow:0 10px 24px -18px rgba(60,30,30,.7);transition:transform .2s}
.btg .qz-a button:hover{transform:translateY(-3px);background:#fff4e4}
.btg .qz-a button span{display:block;font-size:30px;margin-bottom:6px}
.btg .qz-bar{height:6px;border-radius:3px;background:#f0e2d0;margin:18px auto 0;max-width:300px;overflow:hidden}
.btg .qz-bar i{display:block;height:100%;background:var(--cran);transition:width .4s}
.btg .pie-w{position:relative;width:360px;height:360px;margin:0 auto;touch-action:none;cursor:grab}
.btg .pie-w svg.pie{width:100%;height:100%;filter:drop-shadow(0 18px 20px rgba(90,50,30,.35))}
.btg .pie-w .fork{position:absolute;left:50%;top:-34px;width:34px;height:70px;margin-left:-17px;z-index:2;pointer-events:none}
.btg .pie-lab{text-align:center;font:600 15px var(--ui);color:var(--muted);margin-top:14px}
.btg .wb{position:relative;max-width:560px;margin:0 auto;text-align:center}
.btg .wb svg{width:100%;max-width:420px;height:auto}
.btg .wb .meter{height:16px;border-radius:9px;background:linear-gradient(90deg,#f3d6d0,#fbe6c0 40%,#cfe8c4 46%,#cfe8c4 56%,#fbe6c0 62%,#f3d6d0);position:relative;margin:16px auto 0;max-width:420px}
.btg .wb .meter i{position:absolute;top:-6px;width:6px;height:28px;border-radius:3px;background:var(--ink);left:0}
.btg .wb #wbL,.btg .wb #wbR{transition:transform .5s cubic-bezier(.3,1.4,.5,1)}
.btg .wb.snap #wbL{transform:translate(-40px,10px) rotate(-14deg)}
.btg .wb.snap #wbR{transform:translate(40px,10px) rotate(14deg)}
.btg .jar-row{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:center;max-width:860px;margin:0 auto}
.btg .jar-row label{display:block;font:600 13px var(--ui);color:var(--soft);margin-bottom:12px}
.btg .jar-row input{display:block;width:100%;margin-top:6px;border:2px solid #ead8bc;border-radius:12px;padding:11px 14px;font:500 15px var(--ui);background:#fff}
.btg .jar-box{position:relative;text-align:center}
.btg .jar-box svg{width:240px;height:280px}
.btg .jar-box .slip{animation:tgdrop .9s cubic-bezier(.5,0,.6,1.3)}
@keyframes tgdrop{from{transform:translateY(-200px) rotate(30deg);opacity:0}}
.btg .jar-n{font:700 13px var(--ui);color:var(--muted)}
.btg .talk{position:relative;height:300px;max-width:520px;margin:0 auto}
.btg .tcard{position:absolute;inset:0;background:#fff;border-radius:22px;padding:34px 36px;display:flex;flex-direction:column;justify-content:center;text-align:center;box-shadow:0 20px 40px -26px rgba(60,30,30,.7);touch-action:none;user-select:none;cursor:grab;border:2px solid #f0e2d0}
.btg .tcard .tn{position:absolute;top:18px;left:0;right:0;font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass2)}
.btg .tcard p{font:500 23px/1.35 var(--serif);margin:0}
.btg .tcard.under{transform:translateY(12px) scale(.96);opacity:.85}
.btg .tcard.under2{transform:translateY(24px) scale(.92);opacity:.6}
.btg .tcard.fly{transition:transform .45s ease-in,opacity .45s}
.btg .pc-row{display:grid;grid-template-columns:240px 1fr;gap:28px;max-width:980px;margin:0 auto}
.btg .pc-row textarea{width:100%;min-height:170px;border:2px solid #ead8bc;border-radius:14px;padding:12px;font:500 15px/1.5 var(--ui);resize:vertical}
.btg .pc-prev{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.btg .rsv{background:#fffaf2;border-radius:12px;padding:14px 16px;box-shadow:inset 0 0 0 2px #a8324a,inset 0 0 0 5px #fffaf2,inset 0 0 0 6px #e4b65e;text-align:center;position:relative}
.btg .rsv small{display:block;font:700 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--cran)}
.btg .rsv b{display:block;font:600 22px var(--serif);margin:4px 0}
.btg .rsv span{display:block;font:500 12px var(--ui);color:var(--muted)}
.btg .rsv i{display:block;font:italic 500 14px var(--serif);margin-top:6px;color:var(--soft)}
.btg .bingo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:620px;margin:0 auto}
.btg .bingo button{aspect-ratio:1.15;border:0;border-radius:14px;background:#fff;box-shadow:inset 0 0 0 2px #f0e2d0;cursor:pointer;font:600 13px/1.3 var(--ui);padding:8px;color:var(--soft);position:relative;transition:background .2s}
.btg .bingo button.on{background:#fbe2e2;color:var(--cran2)}
.btg .bingo button.on:after{content:"";position:absolute;right:8px;top:8px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#f3e6d6 0 40%,#7c2238 41%)}
.btg .bingo button.win{background:#e4f0de;color:#3f6a4a}
.btg .st-row{display:grid;grid-template-columns:1fr 340px;gap:30px;align-items:start;max-width:1040px;margin:0 auto}
.btg .st-prev{display:flex;justify-content:center;background:#f3e9dc;border-radius:18px;padding:18px}
.btg .st-prev canvas{max-width:100%;max-height:520px;border-radius:8px;box-shadow:0 20px 40px -24px rgba(40,20,30,.6)}
.btg .st-ctl .seg{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 16px}
.btg .st-ctl .seg button{border:0;border-radius:99px;padding:8px 13px;background:#f3e6d4;font:600 13px var(--ui);cursor:pointer}
.btg .st-ctl .seg button.on{background:var(--ink);color:#fff}
.btg .st-ctl label{font:700 11px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.btg .st-ctl select{width:100%;margin:6px 0 16px;border:2px solid #ead8bc;border-radius:12px;padding:10px;font:500 14px var(--ui);background:#fff}
.btg .dbg{max-width:720px;margin:0 auto;background:linear-gradient(#2f4a42,#24392f);border:6px solid #a97b2c;border-radius:16px;padding:20px;box-shadow:inset 0 0 0 2px #e4b65e}
.btg .dbg-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.btg .reel{background:#16231d;border-radius:10px;height:110px;overflow:hidden;position:relative;box-shadow:inset 0 0 12px rgba(0,0,0,.6)}
.btg .reel small{position:absolute;top:6px;left:0;right:0;text-align:center;font:700 10px var(--ui);letter-spacing:.18em;text-transform:uppercase;color:#bcd0b8;z-index:2}
.btg .reel .strip{position:absolute;left:0;right:0;top:0;will-change:transform}
.btg .reel .strip div{height:110px;display:flex;align-items:center;justify-content:center;padding:18px 8px 0;font:600 19px/1.15 var(--serif);color:#ffe6a6;text-align:center}
.btg .reel:after{content:"";position:absolute;left:0;right:0;top:55%;height:1px;background:rgba(0,0,0,.6)}
.btg .reel.stopped{box-shadow:inset 0 0 0 2px #f3c45e,inset 0 0 12px rgba(0,0,0,.6)}
.btg .dbg .grow .gbtn{min-width:120px}
.btg .spy{position:relative;max-width:900px;margin:0 auto}
.btg .spy-win{position:relative;height:300px;border-radius:26px;overflow:hidden;border:14px solid #a8324a;box-shadow:inset 0 0 0 3px #e4b65e,0 20px 40px -24px rgba(60,30,30,.7);background:linear-gradient(#cfe0f0,#fbe8d8 60%,#e8c88a 60%)}
.btg .spy-strip{position:absolute;left:0;top:0;height:100%;will-change:transform}
.btg .spy-t{position:absolute;bottom:40px;cursor:pointer;border:0;background:none;padding:0;transition:transform .2s}
.btg .spy-t svg{display:block}
.btg .spy-t.got{animation:tggot .6s forwards}
@keyframes tggot{50%{transform:scale(1.3)}to{transform:scale(0);opacity:0}}
.btg .spy-list{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.btg .spy-list span{background:#fff;border-radius:99px;padding:7px 14px;font:600 13.5px var(--ui);box-shadow:0 6px 14px -10px rgba(60,30,30,.6)}
.btg .spy-list span.ok{background:#e4f0de;color:#3f6a4a;text-decoration:line-through}
.btg .spy-hud{display:flex;justify-content:space-between;font:700 14px var(--ui);color:var(--soft);margin:0 6px 10px}
.btg .sig{display:grid;grid-template-columns:1fr 280px;gap:26px;max-width:980px;margin:0 auto;align-items:center}
.btg .sig-map{background:#f6efe2;border-radius:20px;padding:12px;box-shadow:inset 0 0 0 2px #ead8bc}
.btg .sig-map svg{width:100%;height:auto;display:block}
.btg .levers{display:flex;gap:16px;justify-content:center;background:linear-gradient(#8a5a3e,#6a4430);border-radius:16px;padding:20px 16px 14px}
.btg .lever{display:flex;flex-direction:column;align-items:center;gap:8px;border:0;background:none;cursor:pointer;color:#fbe9c0;font:700 12px var(--ui)}
.btg .lever .lv{width:14px;height:110px;border-radius:7px;background:#3a2c2a;position:relative}
.btg .lever .lv:before{content:"";position:absolute;left:50%;top:6px;width:10px;height:60px;margin-left:-5px;border-radius:5px;background:linear-gradient(90deg,#d0d0d8,#fff,#a0a0b0);transform-origin:50% 100%;transform:translateY(40px) rotate(-30deg);transition:transform .4s cubic-bezier(.3,1.4,.5,1)}
.btg .lever .lv:after{content:"";position:absolute;left:50%;top:-4px;width:22px;height:22px;margin-left:-11px;border-radius:50%;background:var(--lc,#c4364a);transform:translate(-26px,36px);transition:transform .4s cubic-bezier(.3,1.4,.5,1)}
.btg .lever.on .lv:before{transform:translateY(40px) rotate(30deg)}
.btg .lever.on .lv:after{transform:translate(26px,36px)}
.btg .sim{display:grid;grid-template-columns:repeat(2,150px);gap:16px;justify-content:center;margin:0 auto}
.btg .sim button{height:130px;border:0;border-radius:22px;cursor:pointer;font:700 14px var(--ui);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;transition:transform .12s,filter .12s;box-shadow:0 14px 26px -16px rgba(40,20,30,.8)}
.btg .sim button svg{width:46px;height:46px}
.btg .sim button.lit{transform:scale(1.07);filter:brightness(1.35) saturate(1.2)}
.btg .sim-s{text-align:center;font:700 15px var(--ui);color:var(--soft);margin-top:16px}
.btg .hrd{max-width:900px;margin:0 auto}
.btg .hrd-yard{border-radius:22px;overflow:hidden;box-shadow:inset 0 0 0 2px #ead8bc,0 20px 40px -28px rgba(60,30,30,.7)}
.btg .hrd-svg{display:block;width:100%;height:auto;touch-action:none;user-select:none;-webkit-user-select:none;cursor:crosshair}
.btg .hrd-svg:focus-visible{outline:3px solid var(--brass);outline-offset:-3px}
.btg .bak{display:grid;grid-template-columns:1fr 1.05fr;gap:30px;align-items:center;max-width:980px;margin:0 auto}
.btg .bak-steps{display:flex;gap:8px;margin-bottom:14px}
.btg .bak-steps span{flex:1;padding:8px 6px;border-radius:999px;background:#f3e6d4;text-align:center;font:700 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.btg .bak-steps span.on{background:var(--cran);color:#fff}
.btg .bak-steps span.dn{background:#e4f0de;color:#3f6a4a}
.btg .bak-ings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.btg .bak-ing{display:flex;gap:10px;align-items:center;background:#fff;border-radius:14px;padding:10px 12px;cursor:grab;box-shadow:0 8px 18px -14px rgba(60,30,30,.6);touch-action:none;user-select:none;-webkit-user-select:none;font:600 14px/1.25 var(--ui);min-width:0}
.btg .bak-ing small{display:block;font:500 12px var(--ui);color:var(--muted)}
.btg .bak-ing i{flex:none;width:40px;height:40px;border-radius:50%;background:radial-gradient(circle at 50% 42%,var(--c) 0 56%,#fffaf2 58% 74%,#a8324a 76% 82%,#fffaf2 84%);box-shadow:0 3px 5px -2px rgba(80,50,20,.35)}
.btg .bak-ing.drag{position:fixed;z-index:200;pointer-events:none;box-shadow:0 20px 40px -14px rgba(60,30,30,.6);transform:rotate(-4deg)}
.btg .bak-hint{text-align:left;margin-top:16px}
.btg .bak .grow{justify-content:flex-start}
.btg .bak-card{grid-column:1/-1;display:grid;gap:8px;padding:16px 18px 14px;border-radius:12px;background:#fffaf2;box-shadow:inset 0 0 0 2px #a8324a,inset 0 0 0 5px #fffaf2,inset 0 0 0 6px #e4b65e}
.btg .bak-card b{font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--cran);margin-bottom:2px}
.btg .bak-card span{display:flex;align-items:center;gap:10px;font:500 16px var(--read);color:var(--ink)}
.btg .bak-card span i{flex:none;width:18px;height:18px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 1.5px rgba(120,80,40,.25)}
.btg .bak-card em{font:700 10px var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--brass2);font-style:normal;width:64px;flex:none}
.btg .bak-galley{background:linear-gradient(#fffaf2,#f6ead8);border-radius:22px;padding:22px;box-shadow:inset 0 0 0 2px #ead8bc;display:flex;flex-direction:column;align-items:center}
.btg .bak-galley:before{content:"Dining car · Galley oven";display:block;font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass2);text-align:center;margin-bottom:22px}
.btg .bak-dish{position:relative;width:320px;height:320px;max-width:100%;border-radius:50%;transition:box-shadow .3s,transform .3s}
.btg .bak-dish.hot{box-shadow:0 0 0 8px rgba(228,182,94,.45);transform:scale(1.03)}
.btg .bak-dish.plop{animation:tgbakplop .4s cubic-bezier(.3,1.6,.5,1)}
@keyframes tgbakplop{40%{transform:scale(.96)}}
.btg .bak-dsv{width:100%;height:100%;display:block;filter:drop-shadow(0 18px 18px rgba(80,50,20,.25))}
.btg .bak-glow{position:absolute;inset:-22px;border-radius:50%;background:radial-gradient(circle,rgba(233,138,58,.6),rgba(233,138,58,0) 70%);opacity:0;transition:opacity .5s}
.btg .bak-dish.baking .bak-glow{opacity:1;animation:tgbakglow .6s ease-in-out infinite alternate}
@keyframes tgbakglow{to{transform:scale(1.04);opacity:.7}}
.btg .bak-ring{position:absolute;inset:-10px;width:calc(100% + 20px);height:calc(100% + 20px);pointer-events:none}
.btg .bak-dish.baked .bak-ring{opacity:0;transition:opacity .8s .3s}
.btg .bak-steam{position:absolute;left:50%;top:-30px;width:120px;height:80px;margin-left:-60px;opacity:0;pointer-events:none}
.btg .bak-dish.baked .bak-steam{opacity:1}
.btg .bak-steam i{position:absolute;bottom:0;width:10px;height:56px;border-radius:10px;border-left:4px solid rgba(169,123,44,.55);filter:blur(1px);animation:tgbaksteam 2.4s ease-in-out infinite}
.btg .bak-steam i:nth-child(1){left:30px}
.btg .bak-steam i:nth-child(2){left:56px;animation-delay:.7s}
.btg .bak-steam i:nth-child(3){left:82px;animation-delay:1.4s}
@keyframes tgbaksteam{0%{transform:translateY(20px) scaleY(.6);opacity:0}40%{opacity:1}100%{transform:translateY(-26px) scaleY(1.1) skewX(-10deg);opacity:0}}
.btg .clo{max-width:820px;margin:0 auto;background:linear-gradient(#fffaf2,#f6ead8);border-radius:22px;padding:22px 22px 24px;box-shadow:inset 0 0 0 2px #ead8bc}
.btg .clo:before{content:"Dining car · Table 5";display:block;font:700 11px var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass2);text-align:center;margin-bottom:6px}
.btg .clo-stage{position:relative;height:270px;margin:0 auto;max-width:700px;border-bottom:3px solid #ead8bc}
.btg .clo-c{position:absolute;bottom:10px;width:180px;height:210px;margin-left:-90px;border:0;padding:0;background:none;cursor:default;transition:left .38s cubic-bezier(.5,0,.5,1),transform .38s}
.btg .clo-stage.picking .clo-c{cursor:pointer}
.btg .clo-c.hop{transform:translateY(-16px) scale(1.03);z-index:2}
.btg .clo-c .dome{position:absolute;left:0;right:0;bottom:16px;height:142px;z-index:2;transition:transform .55s cubic-bezier(.3,1.3,.5,1);filter:drop-shadow(0 10px 8px rgba(60,60,80,.18))}
.btg .clo-c.up .dome{transform:translateY(-100px) rotate(-6deg)}
.btg .clo-stage.picking .clo-c:hover .dome{transform:translateY(-12px)}
.btg .clo-c .pt{position:absolute;left:5px;right:5px;bottom:0;height:26px}
.btg .clo-c .pie{position:absolute;left:50%;bottom:14px;z-index:1;transform:translateX(-50%);width:136px}
.btg .clo-c .pie svg{display:block;width:100%;height:auto}
.btg .clo-c .crumbs{position:absolute;left:50%;bottom:24px;z-index:1;transform:translateX(-50%);font:700 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;transition:opacity .3s}
@media(max-width:1180px){.btg .g-tiles{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:700px){.btg .g-tiles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:10px 18px 14px;scrollbar-width:none}
.btg .g-tiles::-webkit-scrollbar{display:none}
.btg .g-tile{flex:none;width:122px;scroll-snap-align:start}
.btg .passport{flex-wrap:wrap;gap:12px;padding:14px}
.btg .pp-holes i{width:24px;height:24px}
.btg .g-panel{padding:26px 16px;border-radius:22px}
.btg .g-panel h3.gt{font-size:27px}
.btg .g-panel p.gd{font-size:16px}
.btg .mn-wrap,.btg .jar-row,.btg .pc-row,.btg .st-row,.btg .sig{grid-template-columns:1fr}
.btg .mn-wrap{grid-template-columns:minmax(0,1fr)}
.btg .mn-tray{grid-template-columns:repeat(2,minmax(0,1fr))}
.btg .mn-plates{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.btg .mn-table{padding:16px 12px}
.btg .plate{padding:8%}
.btg .dish{min-width:0;padding:8px;gap:6px}
.btg .dish svg{width:34px;height:34px}
.btg .dish span{min-width:0;overflow-wrap:anywhere}
.btg .qz-a{grid-template-columns:1fr}
.btg .pie-w{width:280px;height:280px}
.btg .dbg-rows{grid-template-columns:1fr}
.btg .reel{height:80px}
.btg .reel .strip div{height:80px;font-size:16px}
.btg .spy-win{height:220px;border-width:10px}
.btg .sim{grid-template-columns:repeat(2,1fr)}
.btg .pick{flex-direction:column;text-align:center}
.btg .bak{grid-template-columns:minmax(0,1fr);gap:22px}
.btg .bak-galley{order:-1;padding:16px}
.btg .bak-dish{width:250px;height:250px}
.btg .bak-ings{gap:8px}
.btg .bak-ing{padding:8px 10px;gap:8px;font-size:13.5px}
.btg .bak-ing i{width:32px;height:32px}
.btg .bak-steps span{font-size:10px;letter-spacing:.06em;padding:7px 4px}
.btg .clo{padding:16px 10px 18px}
.btg .clo-stage{height:210px}
.btg .clo-c{width:92px;height:160px;margin-left:-46px}
.btg .clo-c .dome{height:84px}
.btg .clo-c.up .dome{transform:translateY(-70px) rotate(-6deg)}
.btg .clo-c .pie{width:78px}
.btg .clo-c .crumbs{font-size:9px;letter-spacing:.06em}
.btg .hrd-yard{border-radius:16px}
.btg .bingo button{font-size:11px;padding:5px;overflow-wrap:anywhere;hyphens:auto}
}
@media print{.btg *{visibility:hidden}
.btg .printme,.btg .printme *{visibility:visible}
.btg .printme{position:absolute;left:0;top:0;width:100%}
}
@property --py{syntax:'<length>';inherits:false;initial-value:0px}
@property --gx{syntax:'<length>';inherits:false;initial-value:0px}
@property --draw{syntax:'<number>';inherits:false;initial-value:1}
.btg .band-host.far .bcv{content-visibility:hidden}
.btg .b3.far{content-visibility:hidden;transform:none!important}
.btg .band-host.far{will-change:auto}
.btg .band .rot,.btg .band .tr-car{will-change:transform}
.btg .band .lyw,.btg .band .train,.btg .h-train,.btg #hSteam,.btg .a-loco,.btg #aSteam{will-change:transform,translate}
.btg .tod-grade{will-change:opacity}
.btg .h-bg,.btg .h-copy{will-change:transform,opacity}
.btg .puff{transform-origin:0 0}
.btg #jh section.stood,.btg #jh section.stood *{animation-play-state:paused!important}
.btg #jh section[id],.btg #jh [id="top5"]{scroll-margin-top:136px}
@media(max-width:700px){.btg #jh section[id]{scroll-margin-top:112px}
}
.btg #jh h1,.btg #jh h2,.btg #jh h3,.btg #jh p,.btg #jh small,.btg #jh b{overflow-wrap:break-word}
.btg .tag h3,.btg .tkt h3,.btg .grat-books .gb b,.btg .line .st h3,.btg .act h3{overflow-wrap:break-word;hyphens:manual;text-wrap:balance}
.btg #jh .sub,.btg .tag p,.btg .tkt p{text-wrap:pretty}
.btg .rt-in{scroll-behavior:smooth;scroll-padding:0 60px;overscroll-behavior-x:contain;
 -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl,0px),#000 calc(100% - var(--fr,0px)),transparent 100%);
 mask-image:linear-gradient(90deg,transparent 0,#000 var(--fl,0px),#000 calc(100% - var(--fr,0px)),transparent 100%)}
.btg .rt-in.fl{--fl:56px}
.btg .rt-in.fr{--fr:56px}
.btg .rt-in:after{content:"";flex:none;width:28px;height:1px}
.btg .route a{padding:14px 11px;letter-spacing:-.005em}
.btg .route a:before{transition:transform .35s cubic-bezier(.3,1.6,.5,1),background .3s,border-color .3s}
.btg .route a.on:before{transform:scale(1.25)}
.btg .rt-in:before{width:var(--rtw,auto);right:auto}
@media(max-width:1180px){.btg .route a{padding:13px 9px;font-size:13.5px}
}
.btg .hunt-wrap{left:14px;bottom:14px;padding:3px 10px 3px 3px;gap:4px;transition:transform .4s cubic-bezier(.3,1.3,.5,1),opacity .2s,width .3s;transform-origin:0 100%}
.btg .hunt{gap:8px;padding:3px 9px 3px 3px}
.btg .hunt .hunt-ic{width:32px;height:32px;flex:none}
.btg .hunt .hunt-ic svg{width:24px;height:15px}
.btg .hunt b{font-size:12.5px}
.btg .hunt small{font-size:10.5px;display:block}
.btg .hunt-wrap .sw span{font-size:11.5px}
.btg .routemap{right:14px;bottom:14px;width:208px;padding:4px 10px 6px;border-radius:16px;transition:transform .45s cubic-bezier(.3,1.3,.5,1),opacity .35s}
.btg .routemap svg{width:188px;height:34px}
.btg .rm-next{font-size:10.5px}
.btg .buddy{right:76px;bottom:62px;width:58px;height:48px;transition:opacity .2s,transform .4s}
.btg .buddy svg{width:58px;height:48px}
.btg .hunt-wrap.chip{padding:3px}
.btg .hunt-wrap.chip .hunt{padding:0;border:0}
.btg .hunt-wrap.chip .hunt>span:not(.hunt-ic),.btg .hunt-wrap.chip .sw{display:none}
.btg .routemap.chip{width:auto;padding:3px;border-radius:50%}
.btg .routemap.chip svg,.btg .routemap.chip .rm-next{display:none}
.btg .routemap .rm-chip{display:none;width:32px;height:32px;border-radius:50%;background:#fdf0d4;place-items:center}
.btg .routemap.chip .rm-chip{display:grid}
.btg .routemap .rm-chip svg{display:block!important;width:22px;height:14px}
.btg .buddy.chip{opacity:0;transform:translateY(20px)}
.btg .hunt-wrap.tuck{transform:translateY(26px) scale(.85);opacity:0;pointer-events:none}
.btg .routemap.tuck{transform:translateY(26px) scale(.85);opacity:0;pointer-events:none}
.btg .routemap.tuck~.buddy,.btg .buddy.tuck{opacity:0}
.btg .hunt-wrap.got,.btg .hunt.got{animation:tgpop .45s cubic-bezier(.3,1.6,.5,1)}
.btg .band .leg-tag,.btg .band-host .leg-tag{position:absolute;z-index:5;left:24px;top:40px;background:rgba(255,255,255,.9);border-radius:999px;padding:6px 13px 6px 9px;font:600 12.5px var(--ui);color:var(--soft);display:flex;gap:8px;align-items:center;box-shadow:0 8px 18px -12px rgba(60,30,40,.5);white-space:nowrap}
.btg .band-host{position:relative}
.btg .band-host .leg-tag i{width:10px;height:10px;border-radius:50%;background:var(--cran);box-shadow:0 0 0 3px #fbe2e2;flex:none}
.btg .rack{align-items:stretch}
.btg .bk-item .bkw{height:204px;perspective:900px}
.btg .bk-item .bkw .b3{margin-bottom:var(--sink,-3px);z-index:3}
.btg .bk-item .bkw:after{bottom:-10px;height:10px;z-index:1}
.btg .bk-item .bkw:before{content:"";position:absolute;left:50%;bottom:-2px;width:min(150px,80%);height:12px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(60,35,15,.38),rgba(60,35,15,0));z-index:1;pointer-events:none}
.btg .bk-item .b3 .sh{display:none}
.btg .bk-item .tagw{flex:1;align-items:stretch;margin-top:30px}
.btg .bk-item .tag{display:flex;flex-direction:column;height:100%}
.btg .bk-item .tag .badge,.btg .tkt .badge{margin-top:auto;align-self:flex-start}
.btg .tkt .badge{align-self:center}
.btg .tag p{margin-bottom:14px}
.btg .tkt{justify-content:flex-start}
.btg .tkt .bkw{height:250px;align-items:flex-end}
.btg .tkt p{margin-bottom:14px}
.btg .bk-item .b3.hov:hover,.btg .tkt .b3.hov:hover,.btg .gb .b3.hov:hover{--lift:calc(var(--w)*.09);--rx:4deg;--ry:12deg}
.btg .bk-item .bkw:before{transition:transform .6s cubic-bezier(.2,.9,.25,1.05),opacity .6s}
.btg .bk-item:hover .bkw:before{transform:translateX(-50%) scale(.8);opacity:.7}
.btg .grat-books{align-items:stretch}
.btg .grat-books .gb{justify-content:flex-end}
.btg .grat-books .gb .b3{margin-bottom:6px}
.btg .grat-books .gb .badge{margin-top:4px}
.btg .line .tlb a{color:inherit;text-decoration:none}
.btg .line .tlb a:hover{color:var(--cran)}
.btg .line .tlb .b3{flex:none}
.btg .hero-jh .h-note:not(.c-bubble){display:none}
.btg .h-stage .c-bubble{position:absolute;z-index:7;left:896px;top:442px;width:auto;max-width:none;white-space:nowrap;background:#fffaf2;border-radius:16px;padding:8px 14px 9px;font:700 18px/1.12 var(--hand);color:var(--cran2);text-align:left;transform:none;opacity:1;box-shadow:0 14px 28px -16px rgba(60,30,40,.6);transform-origin:70% 100%;pointer-events:none;margin:0}
.btg .h-stage .c-bubble:after{content:"";position:absolute;left:70px;right:auto;bottom:-9px;border:10px solid transparent;border-top-color:#fffaf2;border-bottom:0}
.btg .h-leaves{left:780px!important;width:660px!important}
.btg .trolley .tr-books{left:6px;top:0;width:128px;height:64px}
.btg .trolley .tr-books .b3{bottom:0}
@media(max-width:900px){.btg .h-stage .c-bubble{display:none}
}
.btg .band-wrap{perspective:1600px;perspective-origin:50% 30%}
.btg .band-host{transform-style:preserve-3d;will-change:transform}
.btg .band .train{will-change:transform}
.btg .rack{perspective:1200px}
.btg .bk-item .bkw{transform-style:preserve-3d}
.btg .tagw{transform-origin:50% -30px}
.btg .line{--draw:1}
.btg .line:before{--draw:inherit;transform-origin:50% 0;transform:scaleY(var(--draw))}
.btg .line li.lit:before{border-color:var(--cran);box-shadow:0 0 0 5px var(--paper),0 0 0 9px rgba(168,50,74,.18)}
.btg .tod-grade{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:soft-light;opacity:0}
@media(prefers-reduced-motion:reduce){.btg .band-host,.btg .bk-item .bkw .b3,.btg .tagw{transform:none!important}
}
@media(max-width:700px){.btg .hunt-wrap{left:8px;bottom:8px}
.btg .routemap{right:8px;bottom:8px}
.btg .band-host .leg-tag{left:10px;top:30px;font-size:11px;padding:4px 9px 4px 7px}
.btg .bk-item .tagw{margin-top:26px}
.btg .bk-item .bkw{height:186px}
}
.btg .band .lyw{translate:0 var(--py,0px)}
.btg .band .train{translate:var(--gx,0px) 0}
.btg .h-car .cb.hn.big{z-index:2}
.btg .h-car .cb.hn.big .b3{filter:drop-shadow(0 3px 3px rgba(40,20,30,.35))}
.btg #jh .btn:active,.btg .gbtn:active{transform:scale(.96)}
@media(max-width:1399px){.btg #jh .sec.w{padding-left:40px;padding-right:40px}
}
@media(max-width:700px){.btg #jh .sec.w{padding-left:18px;padding-right:18px}
}
.btg .h-stage .h-bg{-webkit-mask-image:linear-gradient(transparent 0,#000 110px);mask-image:linear-gradient(transparent 0,#000 110px)}
.btg .b3{--w:120px;--h:calc(var(--w)*1.5);--t:calc(var(--w)*.13);--rx:0deg;--ry:0deg;--rz:0deg;--lift:0px;--sc:#6d4630;--sc2:#4a2f20;
 display:inline-block;position:relative;width:var(--w);height:var(--h);perspective:calc(var(--w)*14);vertical-align:bottom;flex:none}
.btg .b3 .b3i{position:absolute;inset:0;transform-style:preserve-3d;transform:translateY(calc(var(--lift)*-1)) rotateZ(var(--rz)) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .7s cubic-bezier(.2,.9,.25,1.05)}
.btg .b3 .f{position:absolute;backface-visibility:hidden}
.btg .b3 .fr{top:0;height:100%;width:var(--w);left:calc(50% - var(--w)/2);transform:translateZ(calc(var(--t)/2));border-radius:1px 3px 3px 1px;overflow:hidden;background:#d9cbb6}
.btg .b3 .fr img{width:100%;height:100%;object-fit:cover;display:block}
.btg .b3 .fr:after{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(90deg,rgba(0,0,0,.34) 0,rgba(0,0,0,.08) 2.2%,rgba(255,255,255,.28) 3.4%,rgba(255,255,255,0) 5.5%,rgba(0,0,0,.06) 6.5%,rgba(0,0,0,0) 9%),
  linear-gradient(115deg,rgba(255,255,255,.26) 0%,rgba(255,255,255,0) 32%,rgba(255,255,255,0) 68%,rgba(0,0,0,.10) 100%)}
.btg .b3 .fr:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;box-shadow:inset 0 0 0 .5px rgba(0,0,0,.25),inset -1px 0 0 rgba(255,255,255,.25)}
.btg .b3 .bk{top:0;height:100%;width:var(--w);left:calc(50% - var(--w)/2);transform:rotateY(180deg) translateZ(calc(var(--t)/2));background:linear-gradient(90deg,var(--sc2),var(--sc));border-radius:3px 1px 1px 3px}
.btg .b3 .sp{top:0;height:100%;width:var(--t);left:calc(50% - var(--t)/2);transform:rotateY(-90deg) translateZ(calc(var(--w)/2));
 background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(255,255,255,.14) 30%,rgba(255,255,255,.04) 55%,rgba(0,0,0,.30)),var(--sc);
 display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:2px}
.btg .b3 .sp span{writing-mode:vertical-rl;transform:rotate(0deg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-height:86%;
 font:600 calc(var(--t)*.42)/1 'Fraunces','Cormorant Garamond',Georgia,serif;letter-spacing:.04em;color:var(--sct,#fff);opacity:.92}
.btg .b3 .sp span em{font-style:normal;font-weight:400;opacity:.8;margin-top:.8em}
.btg .b3 .sp:before,.btg .b3 .sp:after{content:"";position:absolute;left:12%;right:12%;height:1px;background:currentColor;color:var(--sct,#fff);opacity:.35}
.btg .b3 .sp:before{top:7%}
.btg .b3 .sp:after{bottom:7%}
.btg .b3 .pg{background:
  repeating-linear-gradient(var(--pd,90deg),#fbf7ef 0 1px,#e9e1d2 1px 1.6px,#f6f0e5 1.6px 2.4px),#f4eee3}
.btg .b3 .fe{top:0;height:100%;width:var(--t);left:calc(50% - var(--t)/2);transform:rotateY(90deg) translateZ(calc(var(--w)/2 - var(--ov)));--pd:90deg;
 box-shadow:inset 0 0 calc(var(--t)*.5) rgba(120,90,50,.18);border-radius:1px}
.btg .b3 .tp,.btg .b3 .bt{left:calc(50% - var(--w)/2);width:calc(var(--w) - var(--ov));height:var(--t);top:calc(50% - var(--t)/2);--pd:0deg;box-shadow:inset 0 0 calc(var(--t)*.4) rgba(120,90,50,.16)}
.btg .b3 .tp{transform:rotateX(90deg) translateZ(calc(var(--h)/2 - var(--ov)))}
.btg .b3 .bt{transform:rotateX(-90deg) translateZ(calc(var(--h)/2 - var(--ov)))}
.btg .b3{--ov:0px}
.btg .b3.hard{--ov:calc(var(--w)*.018)}
.btg .b3.hard .fr{border-radius:2px 4px 4px 2px}
.btg .b3 .be{position:absolute;backface-visibility:hidden;background:var(--sc2)}
.btg .b3 .be.r{top:0;height:100%;width:var(--t);left:calc(50% - var(--t)/2);transform:rotateY(90deg) translateZ(calc(var(--w)/2));
 background:linear-gradient(90deg,var(--sc2) 0 9%,transparent 9% 91%,var(--sc2) 91%)}
.btg .b3 .be.t{left:calc(50% - var(--w)/2);width:var(--w);height:var(--t);top:calc(50% - var(--t)/2);transform:rotateX(90deg) translateZ(calc(var(--h)/2));background:linear-gradient(0deg,var(--sc2) 0 9%,transparent 9% 91%,var(--sc2) 91%)}
.btg .b3 .be.b{left:calc(50% - var(--w)/2);width:var(--w);height:var(--t);top:calc(50% - var(--t)/2);transform:rotateX(-90deg) translateZ(calc(var(--h)/2));background:linear-gradient(0deg,var(--sc2) 0 9%,transparent 9% 91%,var(--sc2) 91%)}
.btg .b3 .sh{position:absolute;pointer-events:none;transition:all .7s cubic-bezier(.2,.9,.25,1.05)}
.btg .b3.flat .sh,.btg .b3.flatL .sh{inset:6% -4% -7% 4%;border-radius:6px;background:rgba(40,25,15,.45);filter:blur(calc(var(--w)*.07));transform:translate(calc(var(--w)*.05),calc(var(--w)*.06)) rotateZ(var(--rz))}
.btg .b3.stand .sh,.btg .b3.standR .sh,.btg .b3.hero .sh,.btg .b3.front .sh,.btg .b3.spine .sh,.btg .b3.lean .sh{left:-12%;right:-18%;bottom:-6%;height:12%;border-radius:50%;background:radial-gradient(closest-side,rgba(40,25,15,.5),rgba(40,25,15,0));filter:blur(2px)}
.btg .b3.flat{--rx:24deg;--ry:-14deg}
.btg .b3.flatL{--rx:24deg;--ry:14deg}
.btg .b3.stand{--ry:32deg;--rx:-2deg}
.btg .b3.standR{--ry:-30deg;--rx:-2deg}
.btg .b3.hero{--ry:26deg;--rx:-6deg;--rz:0deg}
.btg .b3.front{--ry:14deg;--rx:-3deg}
.btg .b3.spine{--ry:84deg;width:calc(var(--t) + 6px)}
.btg .b3.spine .sh{left:-60%;right:-60%}
.btg .b3.hov.spine:hover{--ry:60deg;--lift:calc(var(--w)*.06)}
.btg .b3.lean{--ry:22deg;--rx:-2deg;--rz:-7deg}
.btg .b3.hov{cursor:pointer}
.btg .b3.hov:hover{--lift:calc(var(--w)*.08)}
.btg .b3.hov.flat:hover,.btg .b3.hov.flatL:hover{--rx:16deg;--lift:calc(var(--w)*.14)}
.btg .b3.hov.flat:hover .sh,.btg .b3.hov.flatL:hover .sh{transform:translate(calc(var(--w)*.12),calc(var(--w)*.16)) rotateZ(var(--rz)) scale(.96);opacity:.75;filter:blur(calc(var(--w)*.11))}
.btg .b3.hov.stand:hover,.btg .b3.hov.hero:hover,.btg .b3.hov.lean:hover{--ry:16deg}
.btg .b3.hov.front:hover{--ry:24deg}
.btg .b3 .mk{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:12% 10%;text-align:center;color:#fff;
 background:linear-gradient(160deg,#f3c873,#d0702a 60%,#9b2c3a);font:600 calc(var(--w)*.12)/1.1 'Fraunces',Georgia,serif}
.btg .b3 .mk i{font:500 calc(var(--w)*.075)/1.2 Inter,system-ui,sans-serif;font-style:normal;opacity:.9}
@media(prefers-reduced-motion:reduce){.btg .b3 .b3i,.btg .b3 .sh{transition:none}
}

/* plugin additions */
.btg{display:block}
.btg #jh .faq i a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(168,50,74,.35)}.btg #jh .faq i a:hover{border-bottom-color:var(--cran)}
/* native anchors: sections carry their own scroll-margin, so the site-wide scroll-padding would add 84px on top */
html:has(.btg){scroll-padding-top:0!important}
/* the site's chat bubble (#orac-widget-bubble, bottom right on every page) would sit on the route map: the right-hand dock rises above it */
body:has(#orac-widget-bubble) .btg{--tgdock:76px}
.btg .routemap{bottom:calc(14px + var(--tgdock,0px))}.btg .buddy{bottom:calc(62px + var(--tgdock,0px))}
@media(max-width:700px){.btg .routemap{bottom:calc(8px + var(--tgdock,0px))}body:has(#orac-widget-bubble) .btg{--tgdock:72px}}
