.plan-play{padding:28px;border:1px solid var(--line);border-radius:30px;background:#e7e8df;color:var(--ink);min-width:0;box-shadow:var(--shadow)}.plan-play__mast{display:flex;justify-content:space-between;gap:12px;font-size:9px;font-weight:700;letter-spacing:.1em;border-bottom:1px solid var(--line);padding-bottom:18px}.plan-play h2{font-size:clamp(34px,3.5vw,50px);margin:24px 0 12px;line-height:1.02}.plan-play h2 em{color:#a43724;font-weight:400}.plan-play__intro{font-size:14px;color:var(--ink-soft)}.plan-play__controls,.plan-play__pace{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:15px 0}.plan-play button{border:1px solid #748e83;border-radius:999px;padding:10px 14px;min-height:44px;background:var(--raised);color:var(--ink);cursor:pointer;font-size:12px;font-weight:600}.plan-play button[aria-pressed=true]{background:var(--ink);color:var(--raised);border-color:var(--ink)}.plan-play button:hover{box-shadow:0 3px 0 #c1cbbd;transform:translateY(-2px)}.plan-play__pace>span{font-size:9px;letter-spacing:.1em}.plan-play__pace button{font-size:11px}.plan-play__status{font-size:11px;color:var(--ink-soft);margin:16px 0 8px}.plan-play__route{position:relative;list-style:none;margin:0;padding:12px 0;background-image:radial-gradient(#173f3a20 1px,transparent 1px);background-size:14px 14px;border-radius:20px}.plan-play__route:before{content:"";position:absolute;left:33px;top:40px;bottom:40px;border-left:2px dashed #a43724}.route-stop{position:relative;display:flex;gap:14px;align-items:center;margin:0 5% 16px 0;padding:15px;background:var(--raised);border:1px solid var(--line);border-radius:8px 22px 22px 22px;box-shadow:3px 4px 0 #c7d0c2;animation:route-arrive .28s ease both}.route-stop:nth-child(2){margin-left:6%;margin-right:0;animation-delay:.05s}.route-stop:nth-child(3){animation-delay:.1s}.route-stop:last-child{margin-bottom:0}.route-stop__pin{font-size:29px;background:#f4db91;border-radius:50%;width:43px;height:43px;display:grid;place-items:center;flex-shrink:0}.route-stop small{display:block;font-size:9px;color:var(--ink-soft);line-height:1.5}.route-stop h3{font:500 23px/1.1 var(--serif);margin:4px 0}.route-stop p{font-size:11px;margin:0;color:var(--ink-soft)}.plan-play__promise{font:500 20px var(--serif);margin:23px 0 12px}.plan-play__promise em{color:#a43724}.plan-play__note,.plan-play__sources{font-size:10px;line-height:1.6;color:var(--ink-soft)}.plan-play__sources summary{cursor:pointer;min-height:28px}.plan-play__sources a{text-underline-offset:3px}
.ready-kit details summary{cursor:pointer;min-height:44px;padding:9px 0;font-size:12px;font-weight:700}.ready-kit details[open]{animation:route-arrive .2s ease}.ready-kit .ready-kit__list label{font-size:13px;line-height:1.4;font-weight:600;display:flex;align-items:center;gap:8px;min-height:44px}.ready-kit input[data-preview-check]{appearance:auto;width:18px;height:18px;min-height:0;accent-color:var(--ink);flex-shrink:0;padding:0}.ready-kit .ready-kit__list li:has(input:checked){background:#edf0df}.ready-kit .ready-kit__list small{padding:0}.ready-kit__mini-grid details p{font-size:11px}.ready-kit__demo-note{font-size:10px;color:var(--ink-soft);margin:14px 0 0}.ready-kit__demo-note output{display:block;margin-bottom:4px;font-weight:700}
@keyframes route-arrive{from{opacity:.3;transform:translateY(8px) rotate(-1deg)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.plan-play *,.ready-kit *{animation:none!important;transition:none!important}.plan-play button:hover{transform:none}}
@media(max-width:600px){.plan-play{padding:20px 16px}.plan-play h2{font-size:38px}.plan-play__mast{font-size:8px}.route-stop{gap:10px;padding:12px}.route-stop h3{font-size:21px}.plan-play__controls button{flex:1}.plan-play__note{font-size:11px}}
