/* Below the native calendar: a connected preview with a separate illustration lane. */
.tmcal .tm-season-calendar-heading{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
body[data-season-home-layout] .tmcal>.tm-season-service{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 26px;margin:22px 0 0;padding:24px 26px 20px;border:1px solid #c8e1ed;border-radius:20px;background:radial-gradient(ellipse at 55% 25%,#cef2fc80,transparent 60%),linear-gradient(110deg,#eef9ff,#fff);box-shadow:0 10px 32px #175b7c08}
.tm-season-service>div:first-child>p:first-child{font-size:12px!important;line-height:1.5;letter-spacing:.1em;font-weight:750;color:#0989b4;margin:0 0 7px!important}
.tmcal .tm-season-service h2{font-size:28px!important;line-height:1.2!important;letter-spacing:-.035em;margin:0 0 8px!important;color:#123d53}
.tmcal .tm-season-service .tm-season-service-benefits{font-size:15px!important;line-height:1.6!important;font-weight:400!important;letter-spacing:0!important;text-transform:none!important;color:#52778c;margin:0!important}
.tm-season-service .tm-season-service-actions{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:stretch;gap:9px;width:232px}.tm-season-service-actions>a{margin:0!important;justify-content:center;white-space:nowrap}.tm-season-service-actions .tm-home-plan{background:#153e54;color:#fff}
.tm-home-mini{grid-column:1/-1;grid-row:2;position:relative;min-width:0;width:100%;height:207px;perspective:800px;isolation:isolate}
.tmcal .tm-home-mini-road{position:absolute;inset:80px 0 auto;width:100%!important;height:34px!important;overflow:visible;fill:none;stroke:#248bb0;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;z-index:0}.tm-home-mini-bed{stroke:#d7edf6;stroke-width:14}.tm-home-mini-line{stroke:#64bfdc;stroke-width:6}.tm-home-mini-light{stroke:#fff;stroke-width:2;stroke-dasharray:5 95;animation:tm-mini-road 12s linear infinite}
.tmcal .tm-home-mini-stages{position:relative;z-index:1;list-style:none!important;padding:0!important;margin:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;height:100%}
.tmcal .tm-home-mini-stages>li{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:0 10px!important;margin:0!important;list-style:none!important;min-width:0}
.tm-home-mini-stages>li>div{min-width:0;padding-top:26px}.tmcal .tm-home-mini-stages strong{display:block;font-size:16px!important;line-height:1.45!important;letter-spacing:-.02em;color:#173e54;font-weight:750}.tmcal .tm-home-mini-stages p{font-size:14px!important;line-height:1.55!important;letter-spacing:0!important;font-weight:400!important;text-transform:none!important;color:#52778c;margin:5px 0 0!important;max-width:330px}
.tm-home-flow-origin{display:block;width:122px;height:90px}
.tm-home-flow-race{position:absolute;left:10px;top:0;width:122px;height:88px;z-index:4;padding:9px 12px;box-sizing:border-box;border:1px solid #fff;border-radius:9px;background:linear-gradient(125deg,#fff,#dcf4fc);box-shadow:3px 4px 0 #a9d5e5,5px 12px 18px #175c7a20;transform:rotateY(-12deg) rotateZ(-6deg);animation:tm-mini-save 12s ease-in-out infinite;pointer-events:none}.tmcal .tm-home-flow-race>strong{display:block;font-size:15px!important;line-height:1.4!important;color:#16465f}.tmcal .tm-home-flow-race>svg{display:block;width:100%!important;height:42px!important;margin-top:3px;filter:drop-shadow(0 2px 1px #1d6c8a20)}.tm-home-flow-race>i{position:absolute;right:-15px;bottom:-6px;white-space:nowrap;border:1px solid #fff;border-radius:12px;padding:3px 8px;background:#e9f8f0;color:#32836d;font-size:11px;font-weight:650;font-style:normal;box-shadow:0 2px 8px #1d638517}
.tm-home-mini-calendar{position:relative;top:13px;margin-bottom:13px;width:96px;height:77px;box-sizing:border-box;display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:21px 11px 9px;background:#fff;border:1px solid #d7eaf2;border-radius:8px;box-shadow:3px 4px 0 #b5d9e8,5px 12px 18px #174b6d20;transform:rotateX(10deg) rotateZ(5deg);animation:tm-mini-calendar 12s ease-in-out infinite}.tm-home-mini-calendar::before{content:'';position:absolute;height:8px;left:0;right:0;top:0;background:#148eb6;border-radius:8px 8px 0 0}.tm-home-mini-calendar i{background:#dceef7;border-radius:2px}.tm-home-mini-calendar>b{position:absolute;left:10px;right:7px;top:32px;border-radius:4px;background:#118ab4;color:#fff;font-size:12px;line-height:1.6;text-align:center;animation:tm-mini-entry 12s ease infinite}.tmcal .tm-home-mini-calendar>svg{position:absolute;bottom:-8px;right:-11px;width:28px!important;height:28px!important;padding:3px;stroke:#31886b;stroke-width:2;fill:#f2fbf7;border:1px solid #cee8da;border-radius:50%;animation:tm-mini-entry 12s ease infinite}
.tm-home-mini-stay{display:block;width:96px;height:90px;filter:drop-shadow(3px 7px 6px #17628222);animation:tm-mini-stay 12s ease-in-out infinite}.tmcal .tm-home-mini-stay>svg{display:block;width:100%!important;height:100%!important}
.tm-home-flow-transfer{position:absolute;left:45%;top:35px;display:flex;align-items:center;gap:8px;z-index:3;opacity:0;animation:tm-mini-data 12s ease-in-out infinite;pointer-events:none}.tm-home-flow-transfer>b{font-size:12px;font-weight:600;line-height:1.5;padding:5px 10px;border:1px solid #fff;border-radius:16px;background:#edfaff;color:#276e87;white-space:nowrap;box-shadow:0 4px 12px #1d638517}.tmcal .tm-home-flow-transfer>svg{width:40px!important;height:20px!important;fill:none;stroke:#16a0c5;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.tm-home-mini-controls{position:absolute;right:-10px;top:47px;z-index:5}.tm-home-mini-controls[hidden]{display:none!important}.tm-home-mini-controls>button{display:grid;place-items:center;width:44px;height:44px;min-height:44px;background:#fff;border:1px solid #d7e8f1;border-radius:50%;box-shadow:0 3px 10px #1d678410;color:#47829d;padding:10px;cursor:pointer}.tmcal .tm-home-mini-controls svg{display:block!important;width:24px!important;height:24px!important;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round}.tm-home-mini-controls [hidden]{display:none!important}.tm-home-mini-controls button:focus-visible{outline:2px solid #159ac5;outline-offset:3px}
[data-season-home-motion]:not([data-home-playing=true]) *,[data-season-home-motion]:not([data-home-playing=true]) *::before{animation-play-state:paused!important}
@keyframes tm-mini-road{to{stroke-dashoffset:-100}}
@keyframes tm-mini-save{0%,16%{left:10px;top:0;scale:1;opacity:1;transform:rotateY(-12deg) rotateZ(-6deg)}31%{left:calc(33.333% + 8px);top:8px;scale:.58;opacity:1;transform:rotateY(-5deg) rotateZ(5deg)}37%,92%{left:calc(33.333% + 8px);top:8px;scale:.58;opacity:0;transform:rotateZ(5deg)}93%{left:10px;top:0;scale:.9;opacity:0}100%{left:10px;top:0;scale:1;opacity:1;transform:rotateY(-12deg) rotateZ(-6deg)}}
@keyframes tm-mini-entry{0%,29%{opacity:0;scale:.8}37%,92%{opacity:1;scale:1}100%{opacity:0;scale:.8}}
@keyframes tm-mini-calendar{0%,22%,60%,100%{translate:0 0}35%,47%{translate:0 -4px}}
@keyframes tm-mini-data{0%,45%{opacity:0;translate:-15px 0}54%,68%{opacity:1;translate:0 0}78%,100%{opacity:0;translate:60px 0}}
@keyframes tm-mini-stay{0%,62%,100%{translate:0 0;scale:1}72%,87%{translate:0 -6px;scale:1.08}}
@layer trimarkus-motion-buttons{body.tm-redesign :is(#sp-main-body,#main-content,.tm-section,.tmcal) .tm-season-service-actions>.tm-unified-button{width:100%!important;min-height:46px!important;margin:0!important;padding:12px 14px!important;font-size:12px!important;line-height:1.4!important;justify-content:center!important}body.tm-redesign :is(#sp-main-body,#main-content,.tm-section,.tmcal) .tm-season-service-actions>.tm-home-plan{background:#153e54!important;color:#fff!important;border-color:#147fa8!important}body.tm-redesign :is(#sp-main-body,#main-content,.tm-section,.tmcal) .tm-season-service-actions>.tm-home-discover{background:none!important;color:#153e54!important;border-color:transparent!important;min-height:34px!important;padding:5px 6px!important}}
@media(max-width:1050px){body[data-season-home-layout] .tmcal>.tm-season-service{padding:22px 20px 18px;gap:14px 18px}.tmcal .tm-season-service h2{font-size:25px!important}.tm-season-service .tm-season-service-actions{width:205px}.tmcal .tm-home-mini-stages{gap:18px}.tmcal .tm-home-mini-stages>li{padding:0 6px!important}.tm-home-mini{height:230px}.tmcal .tm-home-mini-stages strong{font-size:15px!important}.tm-home-flow-transfer{left:43%;gap:4px;top:45px}.tm-home-flow-transfer>b{font-size:11px;padding:4px 7px}.tmcal .tm-home-flow-transfer>svg{width:22px!important}.tm-home-flow-race{width:110px}}
@media(max-width:650px){body[data-season-home-layout] .tmcal>.tm-season-service{grid-template-columns:1fr;padding:22px 20px 18px;gap:18px}.tmcal .tm-season-service h2{font-size:25px!important}.tm-season-service .tm-season-service-actions{grid-column:1;grid-row:3;max-width:320px;width:100%;justify-self:center}.tm-home-mini{grid-row:2;height:auto}.tmcal .tm-home-mini-stages{grid-template-columns:1fr;gap:24px;padding:0!important}.tmcal .tm-home-mini-stages>li{display:grid;grid-template-columns:82px minmax(0,1fr);gap:17px;align-items:start;padding:4px 0!important;min-height:100px}.tm-home-mini-stages>li>div{padding:0!important}.tmcal .tm-home-mini-stages strong{font-size:16px!important}.tm-home-mini-stages p{padding-right:0}.tm-home-flow-origin{width:72px;height:90px}.tm-home-flow-race{left:0;top:6px;width:80px;height:78px;padding:7px;animation-name:tm-mini-save-mobile}.tmcal .tm-home-flow-race>strong{font-size:12px!important}.tmcal .tm-home-flow-race>svg{height:34px!important}.tm-home-flow-race>i{font-size:9px;right:-3px;bottom:-5px;padding:2px 5px}.tm-home-mini-calendar{width:70px;height:65px;top:9px;padding:18px 8px 7px;margin:0}.tm-home-mini-calendar>b{font-size:10px;left:6px;right:4px;top:29px}.tm-home-mini-stay{width:80px;height:80px}.tmcal .tm-home-mini-road{display:none}.tm-home-mini-stages::before{content:'';position:absolute;top:36px;bottom:52px;left:37px;width:3px;background:linear-gradient(#83d7e9,#d4ebf4);border-radius:3px;z-index:-1}.tm-home-flow-transfer{left:0;top:206px;width:82px;flex-direction:column;gap:0;animation-name:tm-mini-data-mobile}.tm-home-flow-transfer>b{font-size:10px;padding:3px 6px;white-space:normal;text-align:center}.tmcal .tm-home-flow-transfer>svg{width:25px!important;rotate:90deg}.tm-home-mini-controls{right:-10px;top:auto;bottom:-10px}.tm-home-mini-stages>li:last-child>div{padding-bottom:18px!important}}
@keyframes tm-mini-save-mobile{0%,16%{left:0;top:6px;scale:1;opacity:1;transform:rotateZ(-6deg)}31%{left:-3px;top:126px;scale:.65;opacity:1;transform:rotateZ(5deg)}37%,92%{left:-3px;top:126px;scale:.65;opacity:0}93%{left:0;top:6px;scale:.9;opacity:0}100%{left:0;top:6px;scale:1;opacity:1;transform:rotateZ(-6deg)}}
@keyframes tm-mini-data-mobile{0%,45%{opacity:0;translate:0 -10px}54%,68%{opacity:1;translate:0 0}78%,100%{opacity:0;translate:0 25px}}
@media(prefers-reduced-motion:reduce){.tm-home-mini *,.tm-home-mini *::before{animation:none!important;transition:none!important}.tm-home-mini-calendar>b,.tm-home-mini-calendar>svg{opacity:1}.tm-home-flow-transfer{opacity:1}.tm-home-flow-race{opacity:1}}
.tmcal .tm-home-mini-road path{vector-effect:non-scaling-stroke}

/* Shared drawn sports, original organiser assets and event-data handoff. */
:is(.tm-world-scene,.tm-home-mini) .tm-race-gallery{position:relative;display:block;width:100%;height:100%;perspective:650px}
:is(.tm-world-scene,.tm-home-mini) .tm-race-sport{position:absolute;inset:0 auto 27px 0;width:32%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;opacity:1;translate:0 0;rotate:none;scale:1;animation:tm-sport-breathe 3.2s ease-in-out infinite}
:is(.tm-world-scene,.tm-home-mini) .tm-race-bike{left:34%;animation-delay:-1.05s}
:is(.tm-world-scene,.tm-home-mini) .tm-race-run{left:68%;animation-delay:-2.1s}
:is(.tm-world-scene,.tm-home-mini) .tm-race-sport>svg{display:block;width:100%!important;height:calc(100% - 18px)!important;max-height:none!important;fill:none;stroke:none;overflow:visible;filter:drop-shadow(0 2px 1px #1a678918)}
:is(.tm-world-scene,.tm-home-mini) .tm-race-sport>small{display:block;font:750 11px/18px Arial,sans-serif;letter-spacing:.15em;color:#26738f}
:is(.tm-world-scene,.tm-home-mini) .tm-race-brand{position:absolute;left:42%;right:auto;top:auto;bottom:0;width:16%;height:23px;display:grid;place-items:center;opacity:0;animation:tm-organiser-reveal 3.6s ease-in-out infinite both;filter:drop-shadow(0 2px 3px #175c7a15)}
:is(.tm-world-scene,.tm-home-mini) .tm-race-challenge{animation-delay:-1.8s}
:is(.tm-world-scene,.tm-home-mini) .tm-race-brand>img{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:100%!important;object-fit:contain;object-position:center}
:is(.tm-world-scene,.tm-home-mini) .tm-world-bike-wheel{transform-box:fill-box;transform-origin:center;animation:tm-athlete-wheel 1.4s linear infinite}
:is(.tm-world-scene,.tm-home-mini) .tm-world-bike-speed{animation:tm-athlete-speed 1.2s ease-in-out infinite}
.tm-swim-recovery{transform-origin:119px 56px;animation:tm-swim-arm 1.8s ease-in-out infinite}.tm-swim-reach{transform-origin:145px 61px;animation:tm-swim-reach 1.8s ease-in-out infinite}.tm-swim-foam{animation:tm-water-flow 1.8s ease-in-out infinite}.tm-swim-spray{animation:tm-spray 1.8s ease-in-out infinite}
.tm-run-body{transform-origin:110px 65px;animation:tm-running-body .85s ease-in-out infinite}.tm-run-front-leg{transform-origin:113px 67px;animation:tm-running-leg .85s ease-in-out infinite}.tm-run-back-leg{transform-origin:106px 65px;animation:tm-running-leg .85s -.425s ease-in-out infinite}.tm-run-front-arm{transform-origin:126px 38px;animation:tm-running-arm .85s ease-in-out infinite}.tm-run-back-arm{transform-origin:116px 35px;animation:tm-running-arm .85s -.425s ease-in-out infinite}.tm-run-speed{animation:tm-athlete-speed .85s ease-in-out infinite}
@keyframes tm-sport-breathe{0%,100%{translate:0 0}50%{translate:0 -2px}}
@keyframes tm-organiser-reveal{0%,4%{opacity:0;translate:0 4px;scale:.9}15%,41%{opacity:.94;translate:0 0;scale:1}49%,100%{opacity:0;translate:0 -3px;scale:.95}}
@keyframes tm-athlete-wheel{to{rotate:360deg}}@keyframes tm-athlete-speed{0%,100%{opacity:.4;translate:2px 0}50%{opacity:1;translate:-3px 0}}
@keyframes tm-swim-arm{0%,100%{rotate:-4deg}50%{rotate:5deg}}@keyframes tm-swim-reach{0%,100%{rotate:2deg}50%{rotate:-2deg}}@keyframes tm-water-flow{0%,100%{translate:3px 0}50%{translate:-4px 1px}}@keyframes tm-spray{0%,100%{opacity:.25;translate:0 2px}50%{opacity:1;translate:1px -2px}}
@keyframes tm-running-body{0%,100%{translate:0 1px}50%{translate:0 -2px}}@keyframes tm-running-leg{0%,100%{rotate:-6deg}50%{rotate:6deg}}@keyframes tm-running-arm{0%,100%{rotate:5deg}50%{rotate:-5deg}}
.tm-event-handoff{display:block;overflow:visible;filter:drop-shadow(0 5px 6px #176c8b20)}.tm-event-packet{animation:tm-event-carry 2.4s cubic-bezier(.3,.65,.3,1) infinite}.tm-data-light{animation:tm-data-sweep 2.4s linear infinite}.tm-pass-received{transform-origin:171px 36px;animation:tm-event-received 2.4s ease infinite}.tm-data-caption{display:block;white-space:nowrap;font-size:12px;line-height:1.5;font-weight:650;color:#367f98;text-align:center;letter-spacing:0}
@keyframes tm-event-carry{0%,10%{translate:-20px 0;opacity:.45;scale:.94}40%,65%{translate:9px 0;opacity:1;scale:1}85%,100%{translate:22px 0;opacity:.3;scale:.94}}@keyframes tm-data-sweep{to{stroke-dashoffset:-100}}@keyframes tm-event-received{0%,42%,100%{opacity:.4;scale:.85}60%,82%{opacity:1;scale:1.05}}
@media(prefers-reduced-motion:reduce){:is(.tm-world-scene,.tm-home-mini) *{animation:none!important;transition:none!important}:is(.tm-world-scene,.tm-home-mini) .tm-race-sport{opacity:1;translate:0 0;rotate:none;scale:1}:is(.tm-world-scene,.tm-home-mini) .tm-race-ironman{opacity:.94}.tm-event-packet,.tm-pass-received{opacity:1;translate:0 0;scale:1}}

/* v2.16: keep the source card on screen; a separate token performs the save. */
.tm-home-mini{height:230px}.tmcal .tm-home-mini-road{top:93px;height:28px!important}.tm-home-mini-stages>li>div{padding-top:32px}
.tm-home-mini .tm-home-flow-race{width:190px;height:104px;padding:8px 10px;left:10px;top:0;opacity:1;animation:tm-mini-source 6s ease-in-out infinite}
.tmcal .tm-home-flow-race>strong{font-size:13px!important;line-height:1.08!important;letter-spacing:-.03em}.tm-home-flow-race>.tm-race-gallery{position:absolute!important;left:5px;right:5px;top:37px;bottom:4px;width:auto!important;height:auto!important}
.tm-home-mini .tm-race-sport{bottom:17px}.tm-home-mini .tm-race-sport>small{font-size:7px;line-height:10px;letter-spacing:.1em}.tm-home-mini .tm-race-sport>svg{height:calc(100% - 10px)!important}.tm-home-mini .tm-race-brand{height:15px;animation-duration:4.8s}.tm-home-mini .tm-race-challenge{animation-delay:-2.4s}
.tm-home-mini-stay{width:166px;height:90px}
.tm-home-save-token{position:absolute;left:0;top:0;width:34px;height:30px;z-index:5;border:1px solid #fff;border-radius:7px;background:linear-gradient(120deg,#fff,#dff7ff);box-shadow:0 4px 10px #14729426;opacity:0;pointer-events:none;animation:tm-mini-save-token 12s ease-in-out infinite}.tmcal .tm-home-save-token>svg{display:block;width:100%!important;height:100%!important;padding:4px;fill:none;stroke:#188eb3;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tm-home-flow-transfer{left:44%;top:27px;width:19%;height:64px;display:flex;flex-direction:column;gap:0;opacity:1;animation:none}.tmcal .tm-home-flow-transfer>.tm-event-handoff{display:block;width:100%!important;height:48px!important;fill:initial;stroke:none}.tm-home-flow-transfer>.tm-data-caption{font-size:11px}
@keyframes tm-mini-source{0%,100%{translate:0 0;transform:rotateY(-9deg) rotateZ(-5deg)}50%{translate:0 -5px;transform:rotateY(-5deg) rotateZ(-3deg)}}
@media(max-width:1050px) and (min-width:651px){.tm-home-mini .tm-home-flow-race{width:170px}.tmcal .tm-home-flow-race>strong{font-size:12px!important}.tm-home-mini-stay{width:146px}.tm-home-flow-transfer{left:45%;width:20%}.tm-home-flow-transfer>.tm-data-caption{font-size:10px}}
@media(max-width:650px){.tm-home-mini{height:auto}.tmcal .tm-home-mini-stages>li{grid-template-columns:88px minmax(0,1fr);gap:12px}.tm-home-mini .tm-home-flow-race{left:0;top:6px;width:87px;height:97px;padding:7px 5px}.tmcal .tm-home-flow-race>strong{font-size:10px!important}.tm-home-flow-race>.tm-race-gallery{top:34px;left:3px;right:3px}.tm-home-mini .tm-race-sport>small{font-size:6px;line-height:9px}.tm-home-mini .tm-race-sport{bottom:15px}.tm-home-mini .tm-race-brand{height:13px}.tm-home-mini-stay{width:88px;height:82px}.tm-home-mini-stages>li>div{padding-top:0}.tm-home-flow-transfer{left:0;top:232px;width:85px;height:55px;animation:none}.tmcal .tm-home-flow-transfer>.tm-event-handoff{width:85px!important;height:36px!important}.tm-home-flow-transfer>.tm-data-caption{font-size:9px;white-space:normal;line-height:1.25}.tm-home-save-token{animation-name:tm-mini-save-token}}
@media(prefers-reduced-motion:reduce){.tm-home-mini .tm-home-flow-race{animation:none!important;opacity:1}.tm-home-save-token{display:none}}

/* Token targets and the mobile transfer gap follow the actual rendered stage geometry. */
@media(max-width:650px){.tm-home-save-token{animation-name:tm-mini-save-token}.tm-home-flow-transfer{top:var(--home-data-top,215px);height:28px;justify-content:center}.tmcal .tm-home-flow-transfer>.tm-event-handoff{width:85px!important;height:28px!important;rotate:none}.tm-home-flow-transfer>.tm-data-caption{display:none}.tm-home-mini:not([data-home-ready]) .tm-home-flow-transfer{display:none}}
/* v2.17: discovery belongs to the native calendar header; the planner is one clear destination. */
body[data-season-home-layout] .tmcal>.tm-season-calendar-heading{position:relative!important;display:flex!important;align-items:center;justify-content:space-between;gap:22px;width:auto!important;height:auto!important;padding:0 0 22px!important;margin:0!important;overflow:visible!important;clip-path:none!important;white-space:normal!important}
.tmcal>.tm-season-calendar-heading>h2{font-size:clamp(22px,2.2vw,28px)!important;line-height:1.25!important;letter-spacing:-.035em;margin:0!important;color:#163f56}
.tmcal>.tm-season-calendar-heading>.tm-home-discover{flex:0 0 auto;min-height:46px;margin:0!important;white-space:nowrap}
body[data-season-home-layout] .tmcal>.tm-season-service{position:relative;isolation:isolate;transition:border-color .25s,box-shadow .25s}
.tm-season-service-hit{position:absolute;inset:0;z-index:1;display:block;border-radius:inherit;cursor:pointer}
.tm-season-service>div:first-of-type{position:relative;z-index:2;pointer-events:none}.tm-season-service .tm-season-service-actions{position:relative;z-index:3;pointer-events:auto}.tm-season-service .tm-home-mini{z-index:2;pointer-events:none}.tm-season-service .tm-home-mini-controls{pointer-events:auto;z-index:4}
body[data-season-home-layout] .tmcal>.tm-season-service:hover,body[data-season-home-layout] .tmcal>.tm-season-service:focus-within{border-color:#69bad5;box-shadow:0 10px 30px #13729414}
@media(max-width:650px){body[data-season-home-layout] .tmcal>.tm-season-calendar-heading{flex-direction:column;align-items:stretch;gap:15px;padding-bottom:20px!important}.tmcal>.tm-season-calendar-heading>.tm-home-discover{width:100%;justify-content:center}}
/* Repeatable event-data extraction, synchronized with save → travel. */
.tm-home-mini .tm-event-origin{position:absolute;right:10%;top:42%;width:28px;height:16px;display:block;color:#118fb1;opacity:.7;animation:tm-mini-source-data 12s ease infinite}.tmcal .tm-home-mini .tm-event-origin>svg{display:block;width:100%!important;height:100%!important;fill:none;stroke:currentColor}
.tm-home-mini .tm-event-packet{animation:tm-mini-event-extract 12s ease infinite}.tm-home-mini .tm-pass-received{animation:tm-mini-event-complete 12s ease infinite}.tm-home-flow-transfer>.tm-data-caption{font-size:10px;white-space:normal;line-height:1.4}
@keyframes tm-mini-source-data{0%,32%,100%{opacity:.25}39%,47%{opacity:1}60%,90%{opacity:.7}}
@keyframes tm-mini-event-extract{0%,40%{opacity:0;translate:-38px 0;scale:.8}46%{opacity:1;translate:-34px 0;scale:1}62%,65%{opacity:1;translate:25px 0;scale:1}73%,100%{opacity:0;translate:42px 0;scale:.85}}
@keyframes tm-mini-event-complete{0%,60%,100%{opacity:.2;scale:.75}70%,91%{opacity:1;scale:1}}
@media(prefers-reduced-motion:reduce){.tm-home-mini .tm-event-origin,.tm-home-mini .tm-pass-received,.tm-home-mini .tm-event-packet{animation:none!important;opacity:1;translate:0 0;scale:1}}

.tm-home-mini .tm-data-caption{animation:tm-mini-data-confirm 12s ease infinite}
@keyframes tm-mini-data-confirm{0%,60%,100%{opacity:0;translate:0 3px}70%,91%{opacity:1;translate:0 0}}
@media(prefers-reduced-motion:reduce){.tm-home-mini .tm-data-caption{animation:none!important;opacity:1;translate:0 0}}
.tmcal>.tm-season-calendar-heading>h2{font-weight:750!important}

/* v2.19: a measured handoff, explicit landmarks and a flight after confirmation. */
.tm-season-service .tm-season-service-actions{flex-direction:row;align-items:center;gap:12px;width:290px}
.tm-season-service-actions>.tm-home-plan{flex:1 1 auto;min-width:0}
.tm-season-service .tm-home-mini-controls{position:static;display:block;flex:0 0 44px;width:44px;height:44px;margin:0}
.tm-home-mini{height:276px}
.tm-home-flow-origin{height:110px}
.tm-home-mini-calendar{top:18px;margin-bottom:33px}
.tm-home-mini-stay{width:166px;height:110px}
.tm-home-mini-stages>li>div{padding-top:54px}
.tmcal .tm-home-mini-road{top:132px;height:28px!important}
.tmcal .tm-home-mini-road .tm-home-route-dot{fill:#149bc0;stroke:#fff;stroke-width:2}
.tm-home-flow-transfer{left:var(--home-data-left,47%);top:var(--home-data-top,27px);width:var(--home-data-width,19%);height:64px}
.tm-home-mini-flight{position:absolute;right:44px;top:0;width:116px;height:76px;pointer-events:none;opacity:0;filter:drop-shadow(0 6px 5px #1c789b24);animation:tm-mini-flight-takeoff 12s cubic-bezier(.3,.65,.35,1) infinite both}
.tmcal .tm-home-mini-flight>.tm-flight-plane{display:block;width:100%!important;height:100%!important;fill:initial;stroke:none;overflow:visible}
.tm-home-mini-flight .tm-plane-trail{stroke-dasharray:5 8;animation:tm-mini-flight-trail 1.1s linear infinite}
.tm-home-mini .tm-hotel-sign text{font-size:13px;letter-spacing:.6px}
.tm-home-route-marker{position:absolute;top:119px;left:2.2%;height:26px;z-index:3;pointer-events:none}
.tm-home-route-marker>b{display:block;background:#164b64;color:#fff;border:1px solid #fff9;border-radius:3px;padding:3px 6px;font:800 8px/1 Arial,sans-serif;letter-spacing:.08em;box-shadow:0 2px 4px #14557115}
.tm-home-route-marker::before{content:'';position:absolute;top:14px;bottom:0;left:0;width:2px;background:#2583a5}
.tm-home-route-finish{left:auto;right:2.2%}
.tm-home-route-finish>b{transform:translateX(-100%)}
@keyframes tm-mini-flight-takeoff{0%,73%{opacity:0;transform:translate(-26px,20px) rotate(-9deg) scale(.84)}78%{opacity:1;transform:translate(-4px,8px) rotate(-3deg) scale(1)}88%{opacity:1;transform:translate(14px,-4px) rotate(2deg) scale(1)}94%,100%{opacity:0;transform:translate(38px,-20px) rotate(5deg) scale(.96)}}
@keyframes tm-mini-flight-trail{to{stroke-dashoffset:26}}
@media(max-width:1050px) and (min-width:651px){.tm-season-service .tm-season-service-actions{width:265px;gap:10px}.tm-home-mini-stay{width:146px}.tm-home-mini-flight{right:40px;top:-12px;width:90px;height:62px}}
@media(max-width:650px){
 .tm-season-service .tm-season-service-actions{width:100%;max-width:340px;gap:12px}
 .tm-home-mini{height:auto}
 .tmcal .tm-home-mini-stages{padding:24px 0!important;gap:32px}
 .tm-home-flow-origin{height:90px}
 .tm-home-mini .tm-home-flow-race{top:30px}
 .tm-home-mini-calendar{top:9px;margin-bottom:0}
 .tm-home-mini-stay{width:88px;height:82px}
 .tm-home-mini-stages>li>div{padding-top:0}
 .tmcal .tm-home-mini-stages>li:last-child{min-height:146px}
 .tm-home-mini-flight{left:12px;right:auto;top:94px;width:68px;height:46px}
 .tm-home-mini-stages::before{top:18px;bottom:12px}
 .tm-home-route-marker{left:37px;top:0;height:24px}
 .tm-home-route-marker>b{transform:translateX(-50%);padding:3px 5px;font-size:7px}
 .tm-home-route-marker::before{top:14px}
 .tm-home-route-finish{top:auto;right:auto;bottom:0;height:16px}
 .tm-home-route-finish::before{top:-10px;bottom:14px}
 .tm-home-flow-transfer{left:var(--home-data-left,0px);top:var(--home-data-top,239px);width:85px;height:28px}
}
@media(prefers-reduced-motion:reduce){.tm-home-mini-flight{animation:none!important;opacity:1!important;transform:none!important}.tm-home-mini-flight .tm-plane-trail{animation:none!important}}

body[data-season-home-layout] .tmcal>.tm-season-service .tm-season-service-actions{display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important}
.tm-home-flow-transfer>.tm-data-caption{font-size:12px;line-height:1.45}
.tm-home-mini .tm-hotel-sign text{font-size:14px}
.tm-home-route-marker{top:115px;height:30px}.tm-home-route-marker>b{font-size:10px}.tm-home-route-marker::before{top:18px}
@media(max-width:650px){.tm-home-route-marker{top:0;height:24px}.tm-home-route-marker>b{font-size:9px}.tm-home-route-marker::before{top:17px}.tm-home-route-finish{top:auto;height:17px}.tm-home-route-finish::before{top:-9px;bottom:15px}}

/* Playback belongs to the animation: a dedicated centered footer, clear of the planner CTA. */
body[data-season-home-layout] .tmcal>.tm-season-service>.tm-home-motion-dock{grid-column:1/-1!important;grid-row:3!important;position:relative!important;inset:auto!important;display:flex;align-items:center;justify-content:center;justify-self:center;gap:10px;width:fit-content!important;max-width:100%;margin:2px auto 0!important;padding:0!important;z-index:4;pointer-events:auto}
.tm-home-motion-dock[hidden]{display:none!important}.tm-motion-label{font:500 14px/1.5 Montserrat,Arial,sans-serif!important;color:#527b91!important;letter-spacing:0!important}
@media(max-width:650px){.tm-season-service .tm-season-service-actions{grid-row:2!important}.tm-season-service .tm-home-mini{grid-row:3!important}body[data-season-home-layout] .tmcal>.tm-season-service>.tm-home-motion-dock{grid-row:4!important}.tm-season-service .tm-season-service-actions{justify-self:start}}

/* Quiet corner controls, independent of conversion and illustration lanes. */
body[data-season-home-layout] .tmcal>.tm-season-service>.tm-home-motion-dock{grid-column:auto!important;grid-row:auto!important;position:absolute!important;right:14px!important;bottom:12px!important;top:auto!important;left:auto!important;margin:0!important;width:36px!important;height:36px!important}
.tm-home-motion-dock>button{width:36px!important;height:36px!important;min-height:36px!important;padding:8px!important;box-shadow:none!important;background:#ffffffb8!important}
.tm-home-motion-dock .tm-motion-label{display:none!important}
body[data-season-home-layout] .tmcal>.tm-season-service{padding-bottom:54px}

/* Pole shares the actual route endpoint; sign extends inwards. */
@media(min-width:651px){.tm-home-route-finish{left:97.8%!important;right:auto!important;transform:none!important}.tm-home-route-finish>b{transform:translateX(-100%);font-size:12px!important;padding:4px 8px!important;letter-spacing:.06em}.tm-home-route-finish::before{top:20px}}
@media(max-width:650px){.tm-home-route-finish{left:37px!important;right:auto!important}.tm-home-route-finish>b{font-size:11px!important;padding:4px 7px!important;transform:translate(-50%,-13px)}.tm-home-route-finish::before{top:7px;bottom:0}}

body[data-season-home-layout] .tmcal>.tm-season-service>.tm-home-motion-dock,.tm-home-motion-dock>button{width:44px!important;height:44px!important;min-height:44px!important}
.tm-home-route-finish{width:0!important}.tm-home-route-finish>b{width:max-content}

body[data-season-home-layout] .tmcal>.tm-season-service>.tm-home-motion-dock{bottom:8px!important}

/* Playback sits beside the final explanation; no dedicated footer row. */
body[data-season-home-layout] .tmcal>.tm-season-service{padding-bottom:22px}
.tm-home-mini-stages>li>.tm-home-stage-copy{width:100%;box-sizing:border-box}
.tm-home-stage-description{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:12px;align-items:start}
.tm-season-service .tm-home-stage-description>.tm-home-motion-dock{position:static!important;inset:auto!important;display:block;width:44px!important;height:44px!important;min-height:44px!important;margin:4px 0 0!important;pointer-events:auto}
.tm-home-stage-description>.tm-home-motion-dock>button{border-color:#cce3ee!important;background:#ffffffbf!important;color:#377b98!important}
@media(max-width:650px){
 .tm-home-stage-description{display:block}.tmcal .tm-home-mini-stages>li:last-child{padding-bottom:44px!important}
 .tm-season-service .tm-home-stage-description>.tm-home-motion-dock{position:absolute!important;right:0!important;bottom:0!important;top:auto!important;left:auto!important;margin:0!important}
 body[data-season-home-layout] .tmcal>.tm-season-service{padding-bottom:18px}
}
.tm-season-service .tm-home-stage-description>.tm-home-motion-dock[hidden]{display:none!important}

/* v2.34.1: quiet sport illustrations; keep the card, logos and save → travel sequence. */
.tm-home-mini .tm-race-sport,.tm-home-mini .tm-race-sport *{animation:none!important}
.tm-home-mini .tm-race-sport>svg,.tm-home-mini .tm-race-brand,.tm-home-mini .tm-event-handoff{filter:none}
.tm-home-mini .tm-swim-spray,.tm-home-mini .tm-world-bike-speed,.tm-home-mini .tm-run-speed{opacity:.5}
@keyframes tm-mini-save-token{
 0%,17%{opacity:0;transform:translate3d(var(--home-save-from-x,135px),var(--home-save-from-y,49px),0) rotate(-5deg) scale(.7)}
 21%{opacity:1;transform:translate3d(var(--home-save-from-x,135px),var(--home-save-from-y,49px),0) rotate(-5deg) scale(1)}
 32%,35%{opacity:1;transform:translate3d(var(--home-save-to-x,calc(33.333% + 40px)),var(--home-save-to-y,42px),0) rotate(5deg) scale(.75)}
 40%,100%{opacity:0;transform:translate3d(var(--home-save-to-x,calc(33.333% + 40px)),var(--home-save-to-y,42px),0) rotate(5deg) scale(.5)}
}
