.plan-app{--plan-h:62dvh;background:var(--color-page);overflow-x:clip}.plan-app.plan-fs{z-index:80;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.plan-app.plan-fs .plan-body{flex:1;width:100%;min-height:0}.plan-top{border-bottom:1px solid var(--color-line);background:var(--color-surface)}.plan-top-inner{grid-template-columns:minmax(0,1fr);gap:.625rem;max-width:1680px;margin:0 auto;padding:.75rem 1rem;display:grid}.plan-top-inner>*{min-width:0}.plan-title{font-family:var(--font-display);color:var(--color-fg);font-size:20px;font-weight:600;line-height:1.25}html:lang(bn) .plan-title{line-height:1.5}.plan-switch{background:var(--color-fill);border-radius:9999px;gap:.375rem;max-width:100%;padding:.25rem;display:flex;overflow-x:auto}.plan-switch-item{height:2.25rem;color:var(--color-text);white-space:nowrap;border-radius:9999px;flex:none;padding:0 .875rem;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.plan-switch-item[aria-selected=true]{background:var(--color-action);color:var(--color-action-fg)}.plan-legend{scrollbar-width:none;gap:.5rem;display:flex;overflow-x:auto}.plan-legend::-webkit-scrollbar{display:none}.plan-chip{border:1px solid var(--color-line);background:var(--color-surface);height:2.5rem;color:var(--color-text);border-radius:9999px;flex:none;align-items:center;gap:.5rem;padding:0 .875rem;font-size:13px;font-weight:500;transition:opacity .15s,border-color .15s;display:inline-flex}.plan-chip b{color:var(--color-fg);font-weight:600}.plan-chip[aria-pressed=false]{opacity:.45}@media (width>=1024px){.plan-top-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title legend""switch switch";align-items:center;gap:.875rem 1.25rem;padding:1rem 1.5rem}.plan-titleblock{grid-area:title}.plan-legend{grid-area:legend}.plan-switch{grid-area:switch;justify-self:start}.plan-title{font-size:28px}}.plan-body{position:relative}.plan-stage{height:var(--plan-h);background:var(--color-fill);border-bottom:1px solid var(--color-line);position:relative}@media (width>=1024px){.plan-body{grid-template-columns:minmax(0,1fr) 380px;align-items:start;gap:1.5rem;max-width:1680px;margin:0 auto;padding:1.5rem;display:grid}.plan-stage{border:1px solid var(--color-line);border-radius:20px;overflow:hidden}.plan-app.plan-fs .plan-body{align-items:stretch}}.plan-viewport{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;overscroll-behavior:contain;cursor:grab;outline:none;position:absolute;inset:0;overflow:hidden}.plan-viewport.is-grabbing{cursor:grabbing}.plan-pan{transform-origin:0 0;will-change:transform;contain:layout style;position:absolute;top:0;left:0}.plan-rot{transform-origin:0 0;position:absolute;top:0;left:0}.plan-rot>svg{max-width:none;display:block}svg.plan *{pointer-events:none}svg.plan .plan-hit{pointer-events:all;fill:#0000;stroke:none}svg.plan .plan-plot{cursor:pointer;outline:none;transition:opacity .15s}svg.plan .plan-plot.is-empty{cursor:default}svg.plan .plan-plot :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){transition:fill .15s,opacity .15s}svg.plan .plan-plot.is-available :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){fill:#16a34a!important}svg.plan .plan-plot.is-booked :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){fill:#d97706!important}svg.plan .plan-plot.is-sold :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){fill:url(#plan-hatch)!important}svg.plan .plan-plot.is-empty :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){fill:#f1eee7!important}svg.plan .plan-plot text{font-weight:700;font-size:calc(var(--fs,12) * 1px * var(--ls,1));paint-order:stroke;stroke:rgb(var(--primary-rgb) / .35);stroke-width:.6px;fill:#fff!important}svg.plan .plan-plot.is-sold text{stroke:#ffffffbf;fill:var(--color-ink-950)!important}svg.plan .plan-plot.is-empty text{stroke:none;fill:#94a3b8!important}svg.plan .plan-plot.is-dimmed{opacity:.25}svg.plan .plan-plot.is-selected :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){vector-effect:non-scaling-stroke;stroke-dasharray:none;stroke:var(--color-ink-950)!important;stroke-width:2.5px!important}svg.plan .plan-plot.is-selected{filter:drop-shadow(0 2px 3px rgb(var(--primary-rgb) / .4))}svg.plan .plan-plot:focus-visible :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){vector-effect:non-scaling-stroke;stroke-dasharray:4 2;stroke:var(--color-ink-950)!important;stroke-width:2px!important}@media (hover:hover){svg.plan .plan-plot:not(.is-dimmed):not(.is-empty):hover :is(path,polygon,rect,circle,ellipse,polyline):not(.plan-hit){filter:brightness(1.1)}}.plan-app[data-labels-hidden] svg.plan .plan-plot text,.plan-app[data-roads-hidden] svg.plan text:not(.plan-plot text){display:none}.plan-badge-check circle{fill:var(--color-ink-950);stroke:#fff;stroke-width:1.6px}.plan-badge-check path{fill:none;stroke:#fff;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round}.plan-pulse{fill:none;stroke:var(--color-ink-950);stroke-width:2.5px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;animation:.65s ease-out forwards plan-pulse}@keyframes plan-pulse{0%{opacity:.7;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.plan-app.is-booting svg.plan .plan-plot{animation:.3s ease-out both plan-in;animation-delay:calc(var(--i,0) * 3ms)}@keyframes plan-in{0%{opacity:0}to{opacity:1}}.plan-skeleton{background:linear-gradient(90deg, var(--color-fill) 25%, var(--color-line) 50%, var(--color-fill) 75%);color:var(--color-muted-fg);z-index:5;background-size:200% 100%;place-items:center;font-size:14px;animation:1.2s linear infinite shimmer;display:grid;position:absolute;inset:0}.plan-skeleton[hidden]{display:none}.plan-error{text-align:center;color:var(--color-muted-fg);z-index:6;place-items:center;padding:2rem;display:grid;position:absolute;inset:0}.plan-ctl{background:var(--color-surface);width:44px;height:44px;color:var(--color-fg);justify-content:center;align-items:center;transition:background-color .15s;display:inline-flex}.plan-ctl:hover{background:var(--color-fill)}.plan-controls{z-index:10;border:1px solid var(--color-line);background:var(--color-surface);box-shadow:0 6px 20px rgb(var(--primary-rgb) / .12);border-radius:18px;flex-direction:column;display:flex;position:absolute;top:12px;right:12px;overflow:hidden}.plan-controls .plan-ctl+.plan-ctl{border-top:1px solid var(--color-line)}.plan-find{z-index:10;flex-wrap:wrap;align-items:center;gap:.5rem;max-width:calc(100% - 84px);display:flex;position:absolute;top:12px;left:12px}.plan-find-toggle{border:1px solid var(--color-line);box-shadow:0 6px 20px rgb(var(--primary-rgb) / .12);border-radius:9999px}.plan-find-input,.plan-find-go{height:44px;box-shadow:0 6px 20px rgb(var(--primary-rgb) / .12);border-radius:9999px;display:none}.plan-find-input{border:1px solid var(--color-line);background:var(--color-surface);outline:none;width:8.5rem;padding:0 1rem;font-size:15px}.plan-find-input:focus{border-color:var(--color-ink-950)}.plan-find-go{background:var(--color-action);color:var(--color-action-fg);padding:0 1.1rem;font-size:14px;font-weight:600}.plan-find[data-open] .plan-find-input,.plan-find[data-open] .plan-find-go{display:block}.plan-find-msg{background:var(--color-surface);width:100%;color:var(--color-muted-fg);box-shadow:0 6px 20px rgb(var(--primary-rgb) / .12);border-radius:12px;padding:.4rem .75rem;font-size:13px}.plan-compass{z-index:10;color:var(--color-fg);pointer-events:none;align-items:center;gap:.25rem;font-size:12px;font-weight:700;display:flex;position:absolute;bottom:12px;left:12px}.plan-compass svg{filter:drop-shadow(0 3px 8px rgb(var(--primary-rgb) / .15));transition:transform .3s}.plan-coach{z-index:12;white-space:nowrap;background:rgb(var(--primary-rgb) / .88);color:#fff;pointer-events:none;border-radius:9999px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:13px;font-weight:600;animation:.3s ease-out sheet-up;display:inline-flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.plan-coach[hidden]{display:none}.plan-panel{background:var(--color-surface)}.plan-grip{display:none}.plan-empty{text-align:center;padding:2rem 1.5rem}.plan-hand{background:var(--color-fill);width:3.5rem;height:3.5rem;color:var(--color-ink-950);border-radius:9999px;justify-content:center;align-items:center;margin-bottom:1rem;animation:2.4s ease-in-out infinite plan-tap;display:inline-flex}@keyframes plan-tap{0%,55%,to{transform:translate(0)scale(1)}65%{transform:translate(3px,4px)scale(.92)}78%{transform:translate(0)scale(1)}}.plan-details{padding:1rem 1.25rem 1.25rem}.plan-summary{align-items:flex-start;gap:.75rem;display:flex}.plan-summary-title{font-family:var(--font-body);color:var(--color-fg);white-space:nowrap;text-overflow:ellipsis;font-size:17px;font-weight:600;line-height:1.35;overflow:hidden}.plan-summary-meta{color:var(--color-muted-fg);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:.1rem;font-size:14px;line-height:1.4;overflow:hidden}.plan-clear{background:var(--color-fill);width:2.25rem;height:2.25rem;color:var(--color-fg);border-radius:9999px;flex:none;justify-content:center;align-self:center;align-items:center;display:inline-flex}.plan-clear:hover{background:var(--color-line)}.plan-cta{grid-template-columns:1fr 1fr;gap:.625rem;margin-top:.75rem;display:grid}.plan-cta>*{min-width:0;padding-inline:.5rem}.plan-cta:has(>:only-child){grid-template-columns:1fr}.plan-list{gap:.625rem;margin-top:1.25rem;display:grid}.plan-row{border:1px solid var(--color-line);border-radius:16px;padding:.875rem;font-size:14px}.plan-row-number{color:var(--color-fg);font-size:16px;font-weight:700}.plan-row-grid{grid-template-columns:1fr 1fr;gap:.5rem .75rem;margin-top:.625rem;display:grid}.plan-row-grid dt{color:var(--color-muted-fg);font-size:12px}.plan-row-grid dd{color:var(--color-fg);font-weight:600}.plan-badge{white-space:nowrap;border:1px solid;border-radius:9999px;align-items:center;gap:.375rem;padding:.2rem .65rem;font-size:12px;font-weight:600;display:inline-flex}.plan-badge[hidden]{display:none}.plan-badge.is-available{color:#0b7a3b;background:#16a34a1a;border-color:#16a34a4d}:root[data-mode=dark] .plan-badge.is-available{color:#5fd991}:root[data-mode=dark] .plan-badge.is-booked{color:#fbbf62}.plan-badge.is-booked{color:#92400e;background:#d977061a;border-color:#d977064d}.plan-badge.is-sold{color:var(--color-muted-fg);background:#94a3b826;border-color:#94a3b873}.plan-x{background:var(--color-fill);border-radius:9999px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex}.plan-x:hover{background:var(--color-line)}.plan-ref{text-align:center;color:var(--color-muted-fg);margin-top:.875rem;font-size:12px}@media (width>=1024px){.plan-panel{border:1px solid var(--color-line);border-radius:20px;max-height:calc(100dvh - 8rem);position:sticky;top:6.5rem;overflow-y:auto}}@media (width<=1023.98px){.plan-panel{z-index:90;height:88dvh;box-shadow:0 -10px 32px rgb(var(--primary-rgb) / .2);padding-bottom:env(safe-area-inset-bottom,0px);will-change:transform;border-radius:24px 24px 0 0;flex-direction:column;transition:transform .28s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;inset:auto 0 0;transform:translateY(calc(100% + 12px))}.plan-panel[data-dragging]{transition:none}.plan-panel[data-state=empty]{visibility:hidden}.plan-grip{cursor:grab;touch-action:none;flex:none;justify-content:center;align-items:center;width:100%;height:26px;display:flex}.plan-grip span{background:var(--color-line);border-radius:9999px;width:40px;height:4px}.plan-empty{display:none}.plan-details{overscroll-behavior:contain;flex:1;min-height:0;padding-top:.25rem;overflow-y:auto}.plan-panel[data-state=peek] .plan-details{overflow:hidden}.plan-top-inner{padding-block:.5rem}}@media (prefers-reduced-motion:reduce){.plan-panel{transition:none}.plan-hand,.plan-coach,.plan-skeleton,.plan-pulse,.plan-app.is-booting svg.plan .plan-plot{animation:none}}
