/* TPK Park Hubs — "La tua chiave per ..." (Motore TPK). Loaded only on a hub that has the planner.
   Light background, thin animated glare border (Cobalto / Pomodoro / Sole), one primary action per step. Reduced motion = static. */
@property --tpkp-a{syntax:'<angle>';inherits:false;initial-value:0deg}
.tpkh-chiave{background:var(--crema);padding:48px 0 16px}
.tpkh .tpkp-frame{border:1.5px solid transparent;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,conic-gradient(from var(--tpkp-a),#1B3CFF,#FF4D2E,#FFC94A,#1B3CFF) border-box}
.tpkp-in{padding:28px 32px 26px}
.tpkp-head{display:flex;align-items:flex-start;gap:14px}
.tpkp-key{color:var(--cobalto);flex:0 0 auto;margin-top:2px;display:inline-flex}
.tpkp-titles{flex:1 1 auto;min-width:0}
.tpkh .tpkp-h{font:800 clamp(26px,3vw,34px)/1.1 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.5px;color:var(--ink);margin:0 0 6px}
.tpkp-sub{font-size:18px;line-height:1.4;color:var(--ink);max-width:720px}
.tpkp-state{flex:0 0 auto;font-size:12.5px;font-weight:800;letter-spacing:.3px;padding:5px 10px;border-radius:8px;border:1.5px solid var(--ink);color:var(--ink);background:#fff;white-space:nowrap;display:inline-flex;align-items:center;gap:7px}
.tpkp-state::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--sole);border:1.5px solid var(--ink)}
.tpkp-state--live::before{background:var(--cobalto);border-color:var(--cobalto)}
.tpkp-ask{margin-top:22px}
.tpkh .tpkp-q{font:800 22px/1.2 'Bricolage Grotesque',system-ui,sans-serif;margin:0 0 10px}
.tpkp-choices{display:flex;flex-wrap:wrap;gap:10px;align-items:stretch}
.tpkp-choices li{display:flex}
.tpkh .tpkp-choice{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:2px solid var(--ink);border-radius:8px;background:#fff;color:var(--ink);font:800 16px/1 'Bricolage Grotesque',system-ui,sans-serif;text-decoration:none;cursor:pointer}
.tpkh .tpkp-choice:hover{background:var(--sole)}
.tpkh .tpkp-choice[aria-current="true"]{background:var(--ink);color:#fff}
.tpkp-choice-date form{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tpkh .tpkp-choice--date{padding:0 14px}
.tpkh .tpkp-date{min-height:48px;border:2px solid var(--ink);border-radius:8px;padding:0 10px;font:700 16px 'Bricolage Grotesque',system-ui,sans-serif;background:#fff;color:var(--ink)}
.tpkh .tpkp-go{min-height:48px;padding:0 16px;border:2px solid var(--ink);border-radius:8px;background:var(--ink);color:#fff;font:800 16px 'Bricolage Grotesque',system-ui,sans-serif;cursor:pointer}
.tpkp-saved{margin-top:14px}
.tpkp-saved[hidden],.tpkp-share[hidden],[data-tpkp-save][hidden]{display:none}
.tpkh .tpkp-resume{background:none;border:0;padding:0;min-height:44px;color:var(--cobalto);font:800 16px 'Bricolage Grotesque',system-ui,sans-serif;text-decoration:underline;cursor:pointer}
.tpkp-results{margin-top:22px;outline:none}
.tpkp-results:empty{display:none}
.tpkp-loading{color:var(--muted)}
/* stack */
.tpkp-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px;align-items:start}
.tpkp-stack[data-state="plan"]{display:block;column-count:2;column-gap:40px}
.tpkp-stack[data-state="now"]{display:block;max-width:780px}
.tpkp-stack[data-state="plan"] .tpkp-card,.tpkp-stack[data-state="now"] .tpkp-card{break-inside:avoid}
.tpkp-card{border-top:1px solid var(--line);padding:16px 0 18px}
.tpkh .tpkp-card-h{font:800 13px/1.2 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:.8px;text-transform:uppercase;color:var(--cobalto);margin:0 0 8px}
.tpkp-card p{margin:0 0 6px;font-size:16px;line-height:1.45}
.tpkp-big{font:800 24px/1.15 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:-.3px;color:var(--ink)}
.tpkp-muted{color:var(--muted);font-size:14.5px}
.tpkp-line b{margin-right:6px}
.tpkp-data--live b{color:var(--cobalto)}
.tpkp-parks{display:grid;gap:8px}
.tpkp-park{display:grid;grid-template-columns:1fr auto;gap:0 12px;align-items:baseline}
.tpkp-park-n{font-weight:800}
.tpkp-park-s{font-size:14px;color:var(--muted);grid-column:1}
.tpkp-park-h{grid-column:2;grid-row:1/3;font:800 20px 'Bricolage Grotesque',system-ui,sans-serif;color:var(--cobalto)}
.tpkp-park--closed .tpkp-park-n,.tpkp-park--seasonal_closed .tpkp-park-n{color:var(--muted)}
.tpkp-top,.tpkp-time-list,.tpkp-opts,.tpkp-best,.tpkp-plain{display:grid;gap:10px}
.tpkp-top{counter-reset:t}
.tpkp-top li{counter-increment:t;padding-left:30px;position:relative;font-size:16px}
.tpkp-top li::before{content:counter(t);position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font:800 13px/22px 'Bricolage Grotesque',system-ui,sans-serif;text-align:center}
.tpkp-time-list li{display:grid;grid-template-columns:56px 1fr;gap:10px;align-items:baseline}
.tpkp-time{font:800 16px 'Bricolage Grotesque',system-ui,sans-serif;color:var(--cobalto)}
.tpkp-plain li{font-size:15.5px;line-height:1.45}
.tpkp-opt{border-top:1px solid var(--line);padding-top:10px}
.tpkp-opt:first-child{border-top:0;padding-top:0}
.tpkp-opt-head{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.tpkp-opt-n{font:800 18px/1.2 'Bricolage Grotesque',system-ui,sans-serif}
.tpkp-opt-w{font:800 18px 'Bricolage Grotesque',system-ui,sans-serif;color:var(--cobalto);white-space:nowrap}
.tpkp-risk{font-size:14.5px;font-weight:700}
.tpkp-card--express .tpkp-big{color:var(--ink);border-left:5px solid var(--sole);padding-left:10px}
.tpkh .tpkp-pick{font-weight:800;margin-left:6px}
/* actions + forms */
.tpkp-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 20px;align-items:flex-start;margin-top:8px;column-span:all}
.tpkp-stack[data-state="plan"]>.tpkp-actions,.tpkp-stack[data-state="plan"]>.tpkp-now,.tpkp-stack[data-state="plan"]>.tpkp-share,.tpkp-stack[data-state="plan"]>.tpkp-links,.tpkp-stack[data-state="now"]>.tpkp-links{column-span:all}
.tpkp-make,.tpkp-now{grid-column:1/-1;column-span:all;margin-top:10px}
.tpkp-make[open],.tpkp-now[open]{flex:1 1 100%}
.tpkh .tpkp-primary{list-style:none;cursor:pointer}
.tpkp-make>summary::-webkit-details-marker,.tpkp-now>summary::-webkit-details-marker{display:none}
.tpkh .tpkp-secondary{display:inline-flex;align-items:center;min-height:48px;padding:0 4px;color:var(--cobalto);font-weight:800;text-decoration:underline;cursor:pointer;list-style:none}
.tpkp-form{margin-top:14px;display:grid;gap:14px;max-width:760px}
.tpkp-form-intro{color:var(--muted);font-size:15px}
.tpkp-row{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.tpkp-l{font-weight:800;min-width:180px}
.tpkh .tpkp-num,.tpkh .tpkp-sel{min-height:44px;border:2px solid var(--ink);border-radius:8px;padding:0 10px;font:700 16px 'Bricolage Grotesque',system-ui,sans-serif;background:#fff;color:var(--ink)}
.tpkh .tpkp-num{width:84px}
.tpkp-fs{border:0;padding:0;margin:0}
.tpkp-fs legend{font-weight:800;margin-bottom:6px;padding:0}
.tpkp-kids{display:flex;flex-wrap:wrap;gap:8px}
.tpkp-segs{display:flex;flex-wrap:wrap;gap:8px}
.tpkp-seg input{position:absolute;opacity:0;width:1px;height:1px}
.tpkp-seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:8px;font-weight:800;cursor:pointer;background:#fff}
.tpkp-seg input:checked+span{background:var(--ink);color:#fff}
.tpkp-seg input:focus-visible+span{outline:3px solid var(--cobalto);outline-offset:3px}
.tpkp-must{border:1px solid var(--line);border-radius:8px;padding:0 12px}
.tpkp-must>summary{min-height:44px;display:flex;align-items:center;font-weight:800;cursor:pointer}
.tpkp-mustlist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px;padding:4px 0 12px}
.tpkp-mustlist .tpkp-fs{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 16px;margin-top:6px}
.tpkp-mustlist .tpkp-fs legend{grid-column:1/-1;color:var(--cobalto);font-size:13px;letter-spacing:.6px;text-transform:uppercase}
.tpkp-chk{display:flex;align-items:center;gap:8px;min-height:36px;font-size:15px;cursor:pointer}
.tpkp-chk input{width:20px;height:20px;accent-color:var(--cobalto);flex:0 0 auto}
.tpkp-submit{justify-self:start}
.tpkp-share{margin-top:10px;display:grid;gap:8px;max-width:640px}
.tpkp-share input{min-height:44px;border:2px solid var(--ink);border-radius:8px;padding:0 10px;font:600 14px monospace;width:100%}
.tpkp-links{display:flex;flex-wrap:wrap;gap:4px 22px;margin:12px 0 0;grid-column:1/-1}
.tpkp-links a{display:inline-flex;align-items:center;min-height:44px;font-weight:800}
.tpkp-how{margin-top:20px;border-top:1px solid var(--line);padding-top:14px}
.tpkh .tpkp-how-h{font:800 14px 'Bricolage Grotesque',system-ui,sans-serif;margin:0 0 4px}
.tpkp-how p{font-size:14.5px;line-height:1.5;color:var(--muted);max-width:900px}
.tpkh-chiave a:focus-visible,.tpkh-chiave button:focus-visible,.tpkh-chiave summary:focus-visible,.tpkh-chiave input:focus-visible,.tpkh-chiave select:focus-visible{outline:3px solid var(--cobalto);outline-offset:3px}
@media(max-width:1023px){.tpkp-stack{grid-template-columns:1fr 1fr}.tpkp-mustlist,.tpkp-mustlist .tpkp-fs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){
	.tpkh-chiave{padding:36px 0 8px}
	.tpkp-in{padding:20px 16px 18px}
	.tpkp-head{flex-wrap:wrap}
	.tpkp-state{margin-left:40px}
	.tpkp-sub{font-size:16.5px}
	.tpkp-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px}
	.tpkp-choices li{display:block}
	.tpkh .tpkp-choice{width:100%}
	.tpkp-choice-date{grid-column:1/-1}
	.tpkp-stack,.tpkp-stack[data-state="plan"],.tpkp-stack[data-state="now"]{display:block;column-count:1}
	.tpkp-mustlist,.tpkp-mustlist .tpkp-fs{grid-template-columns:1fr}
	.tpkp-l{min-width:0;flex-basis:100%}
	.tpkp-actions .tpkh-btn,.tpkp-make>summary{width:100%;justify-content:center}
	.tpkp-submit{width:100%}
}
@media(prefers-reduced-motion:no-preference){
	.tpkh-chiave.is-live .tpkp-frame{animation:tpkp-spin 8s linear infinite}
	@keyframes tpkp-spin{to{--tpkp-a:360deg}}
	.is-js .tpkp-card{animation:tpkp-in .32s ease both}
	.is-js .tpkp-card:nth-child(2){animation-delay:.07s}.is-js .tpkp-card:nth-child(3){animation-delay:.14s}.is-js .tpkp-card:nth-child(4){animation-delay:.21s}.is-js .tpkp-card:nth-child(n+5){animation-delay:.28s}
	@keyframes tpkp-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
@media(prefers-reduced-motion:reduce){.tpkh-chiave *{animation:none!important;transition:none!important}}

/* ===================== 1.5.0 — full-day plan ("biglietti") ===================== */
.tpkp-day{display:flex;flex-direction:column;gap:14px}
.tpkp-sum{border:2px solid #1B1B16;border-radius:8px;background:#1B1B16;color:#FFF6E9;padding:14px 16px}
.tpkp-sum-chips{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.tpkp-sum-chips li{font-size:13px;font-weight:700;background:rgba(255,246,233,.12);border-radius:8px;padding:4px 8px}
.tpkp-sum-big{display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;font-size:14px}
.tpkp-sum-big b{font-size:24px;color:#FFC94A;margin-right:4px}
.tpkp-sum-arr{margin:6px 0 0;font-size:14px}.tpkp-sum-arr b{color:#FFC94A}
.tpkp-alert{margin:0;padding:10px 12px;border:2px solid #1B1B16;border-radius:8px;background:#FFF6E9;font-weight:700;font-size:14px}
.tpkp-alert--rain{background:#E8EEFF}.tpkp-alert--day_hint{background:#FFF1C9}
.tpkp-blocked{font-size:14px}.tpkp-blocked summary{cursor:pointer;font-weight:800;min-height:44px;display:flex;align-items:center}
.tpkp-praise{list-style:none;margin:0;padding:0}.tpkp-praise li{font-weight:800;font-size:14px;background:#FFF6D8;border-left:4px solid #FFC94A;padding:8px 10px;border-radius:0 8px 8px 0;margin:0 0 6px}
.tpkp-tix{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:10px 14px;border:2px dashed #1B1B16;border-radius:8px;background:#fff}
.tpkp-tix p{margin:0;flex:1 1 240px;font-size:14px}.tpkp-tix small{flex-basis:100%;font-size:12px;color:#5E5E56}
/* timeline */
.tpkp-tl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;position:relative}
.tpkp-stop{position:relative;display:grid;grid-template-columns:66px 1fr auto;background:#fff;border:2px solid #1B1B16;border-radius:8px;box-shadow:3px 3px 0 #1B1B16;transition:transform .15s ease,box-shadow .15s ease}
.tpkp-stub{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:10px 4px;border-right:2px dashed #1B1B16;background:#FFF6E9;border-radius:6px 0 0 6px}
.tpkp-t1{font:800 17px/1 'Bricolage Grotesque',system-ui,sans-serif}.tpkp-t2{font-size:12px;color:#5E5E56}
.tpkp-body{padding:10px 12px;min-width:0}
.tpkp-row1{display:flex;align-items:center;gap:8px}
.tpkp-ico{font-size:20px;line-height:1}
.tpkp-name{margin:0;font:800 17px/1.2 'Bricolage Grotesque',system-ui,sans-serif;overflow-wrap:anywhere}
.tpkp-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:2px solid #1B1B16;flex:none}
.tpkp-meta{margin:4px 0 0;font-size:13px;color:#3a3a34;font-weight:600}
.tpkp-chips{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.tpkp-chip{font-size:12px;font-weight:700;background:#F3F1EA;border-radius:8px;padding:3px 7px}
.tpkp-chip--height{background:#E8EEFF}.tpkp-chip--scary,.tpkp-chip--pregnancy{background:#FFE6E0}.tpkp-chip--wet{background:#E3F6F6}.tpkp-chip--companion{background:#FFF1C9}
/* "Imperdibile": gold frame + soft glare */
.tpkp-stop.is-must{border-color:#1B1B16;box-shadow:0 0 0 3px #FFC94A,0 0 18px 2px rgba(255,201,74,.55),4px 4px 0 #1B1B16}
.tpkp-must{position:absolute;top:-11px;right:12px;font:800 11px/1 'Bricolage Grotesque',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.6px;background:#FFC94A;color:#1B1B16;border:2px solid #1B1B16;border-radius:8px;padding:4px 8px}
.tpkp-stop--meal .tpkp-stub{background:#E3F6F6}.tpkp-stop--show .tpkp-stub{background:#F2E8FF}.tpkp-stop--free .tpkp-stub{background:#F3F1EA}
.tpkp-dine{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.tpkp-dine li{font-size:14px;border-left:3px solid #00A6A6;padding:2px 0 2px 8px}.tpkp-dine a{color:#1B3CFF}
.tpkp-tags{display:block;font-size:12px;font-weight:700;margin-top:2px}
.tpkp-for{margin:6px 0 0;font-size:12px;font-weight:800;color:#006F6F}
/* "against our advice": a speech bubble next to the stop */
.tpkp-bubble{position:relative;margin:8px 0 0;padding:7px 10px;background:#FFF6D8;border:2px solid #1B1B16;border-radius:8px;font-size:13px;font-weight:700}
.tpkp-bubble::before{content:"";position:absolute;top:-8px;left:18px;width:12px;height:12px;background:#FFF6D8;border-left:2px solid #1B1B16;border-top:2px solid #1B1B16;transform:rotate(45deg)}
.tpkp-stop.has-warn{border-style:dashed}
/* controls: arrows, grip, remove */
.tpkp-ctl{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px;border-left:2px solid #F3F1EA}
.tpkp-ctl[hidden]{display:none}
.tpkp-mv{width:36px;height:32px;border:0;border-radius:8px;background:transparent;font-size:16px;font-weight:800;cursor:pointer;color:#1B1B16}
.tpkp-mv:hover{background:#FFF1C9}.tpkp-mv:focus-visible{outline:3px solid #1B3CFF;outline-offset:1px}
.tpkp-rm{color:#A81D0C;font-size:13px}
.tpkp-grip{cursor:grab;touch-action:none;font-weight:800;letter-spacing:-2px;color:#9A9A93;padding:2px 6px;user-select:none}
.tpkp-stop.is-drag{transform:scale(1.02) rotate(-.5deg);box-shadow:8px 8px 0 #1B3CFF;z-index:2}
.tpkp-results.is-busy .tpkp-tl{opacity:.55;transition:opacity .2s}
.tpkp-removed{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.tpkp-removed[hidden]{display:none}.tpkp-removed p{margin:0;width:100%}
.tpkp-addback{border:2px dashed #1B1B16;background:#fff;border-radius:8px;min-height:36px;padding:0 10px;font-weight:700;cursor:pointer}
/* account gate: the rest of the day is blurred */
.tpkp-stop.is-locked{filter:blur(5px);pointer-events:none;user-select:none;opacity:.7}
.tpkp-gate{margin-top:-120px;position:relative;z-index:3;text-align:center;background:#fff;border:3px solid #1B1B16;border-radius:8px;padding:18px 16px;box-shadow:0 0 0 8px rgba(255,201,74,.25),0 0 40px 6px rgba(255,201,74,.45)}
.tpkp-gate-k{font-size:34px;margin:0}.tpkp-gate-h{font:800 19px/1.2 'Bricolage Grotesque',system-ui,sans-serif;margin:4px 0 6px}
.tpkp-linkbtn{border:0;background:none;color:#1B3CFF;font-weight:800;text-decoration:underline;cursor:pointer;min-height:44px}
/* route map */
.tpkp-map{margin:0;border:2px solid #1B1B16;border-radius:8px;background:#fff;padding:10px}
.tpkp-map-h{font:800 17px/1.2 'Bricolage Grotesque',system-ui,sans-serif;margin:0 0 6px}
.tpkp-map-svg{width:100%;height:auto;display:block}
.tpkp-map-bg{fill:#F6F3EA}.tpkp-map-dot{fill:#CFCBBE}.tpkp-map-area{font:700 11px 'Bricolage Grotesque',system-ui,sans-serif;fill:#8B877B;text-transform:uppercase;letter-spacing:.6px}
.tpkp-map-leg{stroke-width:4;stroke-linecap:round;opacity:.85}
.tpkp-map-pin circle{stroke:#1B1B16;stroke-width:2}.tpkp-map-pin text{font:800 11px 'Bricolage Grotesque',system-ui,sans-serif;fill:#1B1B16}
.tpkp-map-leg-t{margin:6px 0 0;font-size:12px;color:#5E5E56;display:flex;align-items:center;gap:6px}
.tpkp-grad{display:inline-block;width:60px;height:8px;border-radius:8px;background:linear-gradient(90deg,#1B3CFF,#FFC94A,#FF4D2E)}
.tpkp-tips{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tpkp-tips li{font-size:13px;font-weight:700;background:#F3F1EA;border-radius:8px;padding:7px 10px}
.tpkp-actions--day{display:flex;flex-wrap:wrap;gap:8px}.tpkp-ghost{background:#fff!important;color:#1B1B16!important}
.tpkp-fine{margin:0;font-size:12px;color:#5E5E56}
/* feedback */
.tpkp-fb{border:2px solid #1B1B16;border-radius:8px;padding:12px;background:#FFF6E9;display:grid;gap:8px}.tpkp-fb[hidden]{display:none}
.tpkp-fb-h{margin:0;font-weight:800}.tpkp-stars{display:flex;gap:4px}
.tpkp-star{font-size:26px;line-height:1;border:0;background:none;color:#CFCBBE;cursor:pointer;min-width:40px;min-height:40px}.tpkp-star.is-on{color:#FFC94A;text-shadow:0 0 6px rgba(255,201,74,.6)}
.tpkp-fb textarea{width:100%;border:2px solid #1B1B16;border-radius:8px;padding:8px;font:inherit}
.tpkp-fb-ok{margin:0;font-weight:800;color:#006F6F}
.tpkp-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
/* building: the key turns */
.tpkp-build{text-align:center;padding:28px 12px;border:2px dashed #1B1B16;border-radius:8px;background:#FFF6E9}
.tpkp-build-k{display:inline-block;font-size:44px;animation:tpkp-turn 1.4s ease-in-out infinite}
.tpkp-build-t{margin:10px 0;font-weight:800;min-height:1.4em}
.tpkp-build-bar{height:8px;border-radius:8px;background:#F3F1EA;overflow:hidden}.tpkp-build-bar span{display:block;height:100%;width:40%;background:#FFC94A;animation:tpkp-bar 1.2s ease-in-out infinite}
@keyframes tpkp-turn{0%,100%{transform:rotate(-20deg)}50%{transform:rotate(70deg)}}
@keyframes tpkp-bar{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.tpkp-day.is-reveal .tpkp-stop{animation:tpkp-in .45s ease both}
.tpkp-day.is-reveal .tpkp-stop:nth-child(2){animation-delay:.06s}.tpkp-day.is-reveal .tpkp-stop:nth-child(3){animation-delay:.12s}.tpkp-day.is-reveal .tpkp-stop:nth-child(4){animation-delay:.18s}.tpkp-day.is-reveal .tpkp-stop:nth-child(n+5){animation-delay:.24s}
@keyframes tpkp-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* toasts */
.tpkp-toasts{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:99998;display:flex;flex-direction:column;gap:6px;width:min(92vw,420px);pointer-events:none}
.tpkp-toast{margin:0;padding:10px 14px;background:#1B1B16;color:#FFF6E9;border-radius:8px;font:700 14px/1.35 'Bricolage Grotesque',system-ui,sans-serif;box-shadow:4px 4px 0 #FFC94A;animation:tpkp-in .3s ease both;transition:opacity .4s,transform .4s}
.tpkp-toast.is-out{opacity:0;transform:translateY(8px)}
/* account dialog */
.tpkp-dlg-wrap{position:fixed;inset:0;background:rgba(27,27,22,.55);z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px}
.tpkp-dlg{position:relative;background:#FFF6E9;border:3px solid #1B1B16;border-radius:8px;box-shadow:8px 8px 0 #1B1B16;max-width:400px;width:100%;padding:20px;font-family:'Bricolage Grotesque',system-ui,sans-serif}
.tpkp-dlg h3{margin:0 0 10px;font-size:22px}.tpkp-dlg-k{margin:0;font-size:30px}
.tpkp-dlg-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border:2px solid #1B1B16;border-radius:50%;background:#fff;font-size:22px;cursor:pointer}
.tpkp-dlg-f{display:grid;gap:10px}.tpkp-dlg-f label{display:grid;gap:4px;font-weight:700;font-size:14px}
.tpkp-dlg-f input[type=email],.tpkp-dlg-f input[type=password]{min-height:44px;border:2px solid #1B1B16;border-radius:8px;padding:0 10px;font:inherit;font-size:16px}
.tpkp-dlg-c{display:flex!important;grid-template-columns:none;gap:8px!important;align-items:flex-start;font-weight:600!important}
.tpkp-dlg-msg{margin:0;font-weight:700;min-height:1.2em}.tpkp-dlg-sw{margin:10px 0 0;font-size:14px}
.tpkp-how{font-size:13px;font-weight:700;color:#5E5E56;margin:12px 0 0}
@media(max-width:600px){.tpkp-stop{grid-template-columns:56px 1fr auto}.tpkp-t1{font-size:15px}.tpkp-name{font-size:16px}.tpkp-sum-big b{font-size:20px}.tpkp-gate{margin-top:-80px}}
@media(prefers-reduced-motion:reduce){.tpkp-build-k,.tpkp-build-bar span,.tpkp-day.is-reveal .tpkp-stop,.tpkp-toast{animation:none}.tpkp-stop{transition:none}}
/* 1.6.0 — KeyNow */
.tpkk{padding:28px 0}
.tpkk-box{background:#1B1B16;color:#FFF6E9;border-radius:8px;padding:24px;border:3px solid #1B1B16;box-shadow:6px 6px 0 #FFC94A}
.tpk-hub-efteling .tpkk-box{background:#173F35;box-shadow:6px 6px 0 #FFC94A}
.tpkk-badge{display:inline-block;margin:0 0 8px;padding:3px 10px;border-radius:8px;background:#FFC94A;color:#1B1B16;font:800 13px/1.4 'Bricolage Grotesque',system-ui,sans-serif;letter-spacing:.4px;text-transform:uppercase}
.tpkk-h{margin:0;font:800 clamp(26px,4vw,36px)/1.1 'Bricolage Grotesque',system-ui,sans-serif;color:#fff}
.tpkk-p{margin:6px 0 16px;font-size:18px;line-height:1.4;color:#FFF6E9}
.tpkk-form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.tpkk-row{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 260px}
.tpkk-row label{font-weight:700;font-size:14px}
.tpkk-row select,.tpkk-row input{min-height:44px;border:2px solid #1B1B16;border-radius:8px;padding:8px 10px;font-size:16px;background:#fff;color:#1B1B16;max-width:100%}
.tpkk-kids{flex:1 1 100%;font-size:15px}
.tpkk-kids>summary{cursor:pointer;min-height:36px;display:inline-flex;align-items:center;font-weight:700}
.tpkk-kids .tpkp-muted{color:#E8DFCF}
.tpkk-out{margin-top:16px}
.tpkk-now{margin:0 0 10px;font-size:14px;color:#E8DFCF}
.tpkk-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tpkk-opt{background:#fff;color:#1B1B16;border:2px solid #1B1B16;border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.tpkk-opt.is-first{background:#FFC94A}
.tpkk-opt.is-chosen{outline:4px solid #1B3CFF;outline-offset:2px}
.tpkk-opt[hidden]{display:none}
.tpkk-role{margin:0;font:800 13px/1.3 'Bricolage Grotesque',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.4px}
.tpkk-name{margin:0;font:800 22px/1.15 'Bricolage Grotesque',system-ui,sans-serif;overflow-wrap:anywhere}
.tpkk-line,.tpkk-why,.tpkk-trend,.tpkk-risk,.tpkk-fresh{margin:0;font-size:15px;line-height:1.4}
.tpkk-fresh{font-size:13px;color:#4A4A42}
.tpkk-acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.tpkk-acts .tpkh-btn{min-height:40px;padding:8px 16px}
.tpkk-ghost{min-height:40px;padding:8px 12px;border:2px solid #1B1B16;border-radius:8px;background:#fff;color:#1B1B16;font-weight:700;cursor:pointer}
.tpkk-ghost:focus-visible,.tpkk-acts .tpkh-btn:focus-visible{outline:3px solid #1B3CFF;outline-offset:2px}
.tpkk-empty{background:#FFF6E9;color:#1B1B16;border-radius:8px;padding:14px;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.tpkk-empty p{margin:0;flex:1 1 260px}
.tpkk-more a{color:#FFC94A;font-weight:700}
.tpkk-fine{margin:14px 0 0;font-size:13px;color:#E8DFCF}
@media (max-width:900px){.tpkk-list{grid-template-columns:1fr}}
/* Express Check */
.tpkec{margin:28px 0}
.tpkec-box{border:3px solid #1B1B16;border-radius:8px;background:#FFF6E9;padding:22px;box-shadow:6px 6px 0 #1B1B16}
.tpkec-h{margin:0;font:800 clamp(24px,3.6vw,32px)/1.1 'Bricolage Grotesque',system-ui,sans-serif}
.tpkec-p{margin:6px 0 14px;font-size:17px;line-height:1.45}
.tpkec-form .tpkk-row{max-width:320px;margin-bottom:12px}
.tpkec-out{margin-top:16px}
.tpkec-res{background:#fff;border:2px solid #1B1B16;border-radius:8px;padding:16px}
.tpkec-verdict{display:inline-block;margin:0 0 8px;padding:4px 12px;border-radius:8px;font:800 18px/1.3 'Bricolage Grotesque',system-ui,sans-serif;background:#E8DFCF}
.tpkec-res--conviene .tpkec-verdict{background:#FFC94A}
.tpkec-res--non_conviene .tpkec-verdict{background:#1B1B16;color:#fff}
.tpkec-res--aspetta .tpkec-verdict{background:#1B3CFF;color:#fff}
.tpkec-big{font-size:19px;margin:0 0 6px}
.tpkec-rides{margin:8px 0;padding-left:20px}
.tpkec-cta{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin-top:12px}
/* Planner — next move first, timeline on demand */
.tpkp-next{border:3px solid #1B1B16;border-radius:8px;background:#FFC94A;padding:18px;box-shadow:5px 5px 0 #1B1B16}
.tpkp-next-k{margin:0;font:800 13px/1.3 'Bricolage Grotesque',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.4px}
.tpkp-next-row{display:flex;gap:12px;align-items:center;margin-top:4px}
.tpkp-next-h{margin:0;font:800 clamp(24px,3.6vw,32px)/1.1 'Bricolage Grotesque',system-ui,sans-serif;overflow-wrap:anywhere}
.tpkp-next-why,.tpkp-next-trend{margin:6px 0 0;font-size:16px}
.tpkp-alts{margin-top:12px;background:#fff;border-radius:8px;padding:10px 12px}
.tpkp-alts-h{margin:0 0 4px;font-weight:800}
.tpkp-alts ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.tpkp-alts li{display:flex;flex-direction:column}
.tpkp-alts li span{font-size:14px;color:#4A4A42}
.tpkp-tlw{border:2px solid #1B1B16;border-radius:8px;background:#fff}
.tpkp-tlw-s{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:12px 16px;font:800 18px/1.2 'Bricolage Grotesque',system-ui,sans-serif}
.tpkp-tlw-s::-webkit-details-marker{display:none}
.tpkp-tlw-s small{font:600 14px/1.2 system-ui,sans-serif;color:#4A4A42}
.tpkp-tlw-s::after{content:"+";flex:0 0 32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #1B1B16;border-radius:50%;background:#FFC94A}
.tpkp-tlw[open]>.tpkp-tlw-s::after{content:"–"}
.tpkp-tlw>.tpkp-tl,.tpkp-tlw>.tpkp-gate{margin:0 12px 12px}
/* Must picker */
.tpkp-pick-n{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:8px;background:#1B1B16;color:#fff;font-size:13px}
.tpkp-pick-help{margin:4px 0 10px;font-size:14px;color:#4A4A42}
.tpkp-pick-tools{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.tpkp-pick-q{min-height:44px;border:2px solid #1B1B16;border-radius:8px;padding:8px 10px;font-size:16px;max-width:100%}
.tpkp-flts{display:flex;flex-wrap:wrap;gap:6px}
.tpkp-flt{min-height:38px;padding:6px 12px;border:2px solid #1B1B16;border-radius:8px;background:#fff;font-weight:700;cursor:pointer}
.tpkp-flt[aria-pressed="true"]{background:#1B3CFF;color:#fff}
.tpkp-pick-all{margin-top:8px}
.tpkp-pick-all>summary{cursor:pointer;min-height:40px;display:inline-flex;align-items:center;font-weight:800;color:#1B3CFF}
.tpkp-chk small{color:#4A4A42;font-weight:400}
.tpkp-chk.is-off{display:none}
.tpkp-chk input:disabled+span{opacity:.45}
@media (prefers-reduced-motion:reduce){.tpkk *,.tpkp-next *{transition:none!important;animation:none!important}}
.tpkk-note{margin:0 0 10px;padding:10px 12px;border-radius:8px;background:#FFF6E9;color:#1B1B16;font-size:15px}
.tpkk-refresh{margin:12px 0 0}
.tpkk-ghost--light{background:#FFC94A}
.tpkec-sub{margin:10px 0 0;font-weight:800}
.tpkp-widen{margin:0}
/* 1.7.0 — Perfect Plan */
.tpkpp{padding:32px 0}
.tpkpp-box{border:3px solid #1B1B16;border-radius:8px;background:#fff;box-shadow:8px 8px 0 #1B1B16;overflow:hidden}
.tpkpp-head{padding:22px 24px 8px}
.tpkpp-h{margin:4px 0 0;font:800 clamp(26px,3.6vw,38px)/1.08 'Bricolage Grotesque',system-ui,sans-serif;color:#1B1B16}
.tpkpp-intro{margin:6px 0 0;font-size:17px;line-height:1.45;color:#4A4A42}
.tpkpp-ai{margin:12px 24px 0;padding:10px 12px;border-radius:8px;background:#FFC94A;font-weight:700}
.tpkpp-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:16px 24px 0;border-bottom:3px solid #1B1B16}
.tpkpp-tab{display:flex;flex-direction:column;gap:2px;min-height:64px;padding:10px 12px;border:2px solid #1B1B16;border-bottom:0;border-radius:8px 8px 0 0;background:#FFF6E9;color:#1B1B16;text-decoration:none}
.tpkpp-tab b{font:800 18px/1.15 'Bricolage Grotesque',system-ui,sans-serif}
.tpkpp-tab small{font-size:13px;color:#4A4A42}
.tpkpp-tab[aria-selected="true"]{background:#1B1B16;color:#fff}
.tpkpp-tab[aria-selected="true"] small{color:#E8DFCF}
.tpkpp-tab:focus-visible{outline:3px solid #1B3CFF;outline-offset:2px}
.tpkpp-panel{padding:20px 24px 24px}
.tpkpp-panel:focus-visible{outline:3px solid #1B3CFF;outline-offset:-3px}
.tpkpp-panel .tpkh-chiave,.tpkpp-panel .tpkk,.tpkpp-panel .tpkec{padding:0;margin:0}
.tpkpp-panel .tpkk-box{box-shadow:none}
.tpkpp-panel .tpkec-box{box-shadow:none;border:0;padding:0;background:transparent}
@media (max-width:600px){.tpkpp-head{padding:18px 16px 6px}.tpkpp-tabs{padding:12px 12px 0;gap:6px}.tpkpp-tab{min-height:56px;padding:8px}.tpkpp-tab small{display:none}.tpkpp-tab b{font-size:16px}.tpkpp-panel{padding:16px 12px 20px}.tpkpp-ai{margin:10px 12px 0}}
/* Live rail */
.tpkh-rail{background:#1B1B16;color:#FFF6E9;padding:10px 0}
.tpkh-rail-line{margin:0;font-size:15px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.tpkh-rail-k{display:inline-block;margin-right:4px;padding:1px 8px;border-radius:8px;background:#FFC94A;color:#1B1B16;font-weight:800}
.tpkh-rail-park em{font-style:normal;color:#E8DFCF}
.tpkh-rail-park--open_live b,.tpkh-rail-park--open_no_live b,.tpkh-rail-park--open_stale b{color:#FFC94A}
.tpkh-rail-sep{margin:0 4px;color:#8A8A80}
/* Parks as tabs */
.tpkh-pt{padding:40px 0}
.tpkh-pt-tabs{display:none}
.tpkh-pt.is-js .tpkh-pt-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}
.tpkh-pt-tab{min-height:44px;padding:8px 16px;border:2px solid #1B1B16;border-radius:8px;background:#fff;font:800 16px/1.2 'Bricolage Grotesque',system-ui,sans-serif;cursor:pointer;color:#1B1B16}
.tpkh-pt-tab[aria-selected="true"]{background:#1B3CFF;color:#fff}
.tpkh-pt-tab:focus-visible{outline:3px solid #FFC94A;outline-offset:2px}
.tpkh-pt-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;border:2px solid #1B1B16;border-radius:8px;background:#fff;box-shadow:6px 6px 0 #1B1B16;overflow:hidden;margin-bottom:16px}
.tpkh-pt-panel[hidden]{display:none}
.tpkh-pt-img{width:100%;height:100%;min-height:240px;max-height:360px;object-fit:cover;display:block}
.tpkh-pt-txt{padding:18px 20px 18px 0}
.tpkh-pt-h{margin:0 0 6px;font:800 26px/1.15 'Bricolage Grotesque',system-ui,sans-serif}
.tpkh-pt-dl{margin:10px 0;display:grid;gap:6px}
.tpkh-pt-dl div{display:flex;gap:8px;flex-wrap:wrap}
.tpkh-pt-dl dt{font-weight:800;min-width:110px}
.tpkh-pt-dl dd{margin:0}
.tpkh-pt-link{font-weight:800;color:#1B3CFF}
@media (max-width:767px){.tpkh-pt-panel{grid-template-columns:1fr}.tpkh-pt-txt{padding:0 16px 16px}.tpkh-pt-img{max-height:220px;min-height:180px}}
/* Short answer (AI discovery) */
.tpkh-ans{max-width:1200px;margin:24px auto;padding:16px 18px;border:2px solid #1B1B16;border-left-width:8px;border-radius:8px;background:#FFF6E9;color:#1B1B16;box-sizing:border-box}
.tpkh-ans-k{margin:0;font:800 13px/1.3 'Bricolage Grotesque',system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#1B3CFF}
.tpkh-ans-q{margin:4px 0 6px;font:800 20px/1.25 'Bricolage Grotesque',system-ui,sans-serif!important;font-style:normal!important}
.tpkh-ans-a{margin:0 0 8px;font-size:16px;line-height:1.55}
.tpkh-ans-meta{margin:0 0 10px;font-size:13px;color:#4A4A42}
.tpkh-ans-tool{margin:0}
.tpkh-ans-ai{margin:10px 0 0;padding:8px 10px;border-radius:8px;background:#FFC94A;font-weight:700}
@media (max-width:600px){.tpkh-ans{margin:16px 16px;padding:14px}}
