.planner-shell{height:100dvh;min-height:100svh;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) 0 env(safe-area-inset-left,0)}.planner-map-shell{min-width:0;min-height:0}.planner-panel{background:color-mix(in srgb, var(--ctx-paper) 84%, transparent);-webkit-backdrop-filter:blur(8px)saturate(108%);border-radius:var(--r);box-shadow:var(--shadow-1);color:var(--ctx-ink);border:1px solid #1c1c1c1a}.planner-panel--primary{box-shadow:var(--shadow-2)}.planner-rail{background:color-mix(in srgb, var(--ctx-paper) 90%, transparent);-webkit-backdrop-filter:blur(8px)saturate(108%);border-left:1px solid var(--ctx-rule);color:var(--ctx-ink)}.planner-kicker{font-family:var(--f-mono);font-size:var(--text-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--ctx-ink-mute)}.planner-ink{color:var(--ctx-ink)}.planner-ink-soft{color:var(--ctx-ink-soft)}.planner-muted{color:var(--ctx-ink-mute)}.planner-faint{color:var(--ctx-ink-faint)}.planner-accent{color:var(--ctx-accent)}.planner-note{background:var(--ctx-paper-deep);border:1px solid var(--ctx-rule);border-radius:var(--r-tight);color:var(--ctx-ink-soft);font-size:var(--text-caption);line-height:1.45}.planner-control{border:1px solid var(--ctx-rule);background:color-mix(in srgb, var(--ctx-paper) 58%, transparent);color:var(--ctx-ink-soft);border-radius:var(--r-tight);transition:border-color .15s,background .15s,color .15s}.planner-control:hover{border-color:var(--ctx-ink-mute)}.planner-control[draggable=true],.planner-drag-source{cursor:grab}.planner-control[draggable=true]:active,.planner-drag-source:active{cursor:grabbing}.planner-drag-source{background:color-mix(in srgb, var(--ctx-paper-soft) 76%, transparent);transition:border-color .15s,background .15s,transform .15s}.planner-drag-source:hover{border-color:var(--ctx-ink-mute);background:color-mix(in srgb, var(--ctx-paper-soft) 92%, transparent)}.planner-map-drop-active:after{content:"";z-index:18;pointer-events:none;border:1px dashed color-mix(in srgb, var(--ctx-accent) 70%, transparent);border-radius:var(--r);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ctx-paper) 72%, transparent);position:absolute;inset:12px}.planner-control:disabled{cursor:not-allowed;opacity:.48}.planner-control:disabled:hover{border-color:var(--ctx-rule);color:var(--ctx-ink-soft)}.planner-control.is-active{background:var(--ctx-ink);border-color:var(--ctx-ink);color:var(--ctx-paper)}.planner-control.is-glowing{border-color:var(--ctx-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--ctx-accent) 45%, transparent), 0 0 14px color-mix(in srgb, var(--ctx-accent) 28%, transparent)}.planner-control.is-danger:hover{border-color:var(--ctx-accent);color:var(--ctx-accent)}.planner-control.is-danger.is-active{background:var(--ctx-accent);border-color:var(--ctx-accent);color:var(--ctx-paper)}.planner-button{background:var(--ctx-ink);color:var(--ctx-paper);border-radius:var(--r-tight);transition:background .15s,opacity .15s}.planner-button:hover:not(:disabled){background:var(--ctx-ink-soft)}.planner-button:disabled{opacity:.45;cursor:not-allowed}.planner-input{background:color-mix(in srgb, var(--ctx-paper) 64%, #fff 36%);border:1px solid var(--ctx-rule);border-radius:var(--r-tight);color:var(--ctx-ink)}.planner-input::placeholder{color:var(--ctx-ink-faint)}.planner-tile{background:color-mix(in srgb, var(--ctx-paper-soft) 82%, transparent);border:1px solid var(--ctx-rule-soft);border-radius:var(--r-tight);color:var(--ctx-ink-soft)}.planner-tile.is-done{opacity:.7}.planner-tile.is-blocked{border-color:var(--ctx-accent)}.planner-swatch{border-radius:var(--r-pill);flex:none;width:10px;height:10px;box-shadow:inset 0 0 0 1px #1c1c1c24}.planner-toast{background:color-mix(in srgb, var(--ctx-ink) 92%, transparent);color:var(--ctx-paper);border:1px solid var(--ctx-ink-soft);border-radius:var(--r);box-shadow:var(--shadow-2)}.planner-control:focus-visible,.planner-button:focus-visible,.planner-input:focus-visible,.planner-panel button:focus-visible,.planner-rail button:focus-visible{border-color:var(--ctx-accent);box-shadow:0 0 0 2px var(--ctx-accent-glow);outline:none}.planner-check{accent-color:var(--ctx-ink)}.planner-row{border-radius:var(--r-tight);transition:background .12s}.planner-row:hover{background:color-mix(in srgb, var(--ctx-ink) 6%, transparent)}.planner-divider{border-top:1px solid var(--ctx-rule-soft)}.planner-iconbtn{color:var(--ctx-ink-mute);border-radius:var(--r-tight);transition:color .12s,background .12s}.planner-iconbtn:hover{color:var(--ctx-accent);background:color-mix(in srgb, var(--ctx-ink) 6%, transparent)}.planner-iconbtn:focus-visible{box-shadow:0 0 0 2px var(--ctx-accent-glow);outline:none}.civic-atlas .atlas-sidebar .planner-sidebar-embed>.planner-panel{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;padding:0}@media (max-width:768px){.planner-shell{overflow:hidden}.planner-map-shell .maplibregl-ctrl-bottom-right,.planner-map-shell .maplibregl-ctrl-bottom-left{margin-bottom:calc(82px + env(safe-area-inset-bottom,0px))}.planner-map-drop-active:after{border-radius:var(--r-lg);inset:8px}.civic-atlas .porchfest-island-scroll,.civic-atlas .civic-apply,.civic-atlas .civic-mobile-lane-stack{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y}.civic-atlas .civic-mobile-table-frame{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-x pan-y}.civic-atlas .porchfest-island-tabs-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x}.civic-atlas .planner-input,.civic-atlas input[type=search],.civic-atlas select.planner-input{font-size:16px}}.planner-notes{border:1px solid var(--ctx-rule);border-radius:var(--r-tight);background:color-mix(in srgb, var(--ctx-paper) 70%, transparent);flex-direction:column;display:flex;overflow:hidden}.planner-notes:focus-within{border-color:var(--ctx-ink-mute)}.planner-notes-toolbar{border-bottom:1px solid var(--ctx-rule);background:color-mix(in srgb, var(--ctx-paper) 50%, transparent);flex-wrap:wrap;align-items:center;gap:3px;padding:5px 6px;display:flex}.planner-notes-sep{background:var(--ctx-rule);align-self:stretch;width:1px;margin:2px 3px}.planner-notes-btn{min-width:26px;height:24px;font-family:var(--f-mono);color:var(--ctx-ink-soft);border-radius:var(--r-tight);cursor:pointer;background:0 0;border:1px solid #0000;padding:0 6px;font-size:11px;line-height:1;transition:background .15s,color .15s,border-color .15s}.planner-notes-btn:hover{background:color-mix(in srgb, var(--ctx-paper) 60%, transparent);border-color:var(--ctx-rule)}.planner-notes-btn.is-active{background:var(--ctx-ink);border-color:var(--ctx-ink);color:var(--ctx-paper)}.planner-notes-btn.is-bold{font-weight:700}.planner-notes-btn.is-italic{font-style:italic}.planner-notes-btn.is-strike{text-decoration:line-through}.planner-notes-content{min-height:7.5rem;max-height:22rem;color:var(--ctx-ink);font-size:var(--text-body,14px);outline:none;padding:10px 12px;line-height:1.55;overflow-y:auto}.planner-notes-content>*+*{margin-top:.6em}.planner-notes-content h1,.planner-notes-content h2,.planner-notes-content h3{font-family:var(--f-display,inherit);color:var(--ctx-ink);font-weight:600;line-height:1.25}.planner-notes-content h1{font-size:1.4em}.planner-notes-content h2{font-size:1.2em}.planner-notes-content h3{font-size:1.05em}.planner-notes-content a{color:var(--ctx-accent);text-underline-offset:2px;text-decoration:underline}.planner-notes-content ul,.planner-notes-content ol{padding-left:1.4em}.planner-notes-content ul{list-style:outside}.planner-notes-content ol{list-style:decimal}.planner-notes-content li>*+*{margin-top:.3em}.planner-notes-content blockquote{border-left:2px solid var(--ctx-rule);color:var(--ctx-ink-soft);padding-left:.8em;font-style:italic}.planner-notes-content code{font-family:var(--f-mono);background:var(--ctx-paper-deep);border:1px solid var(--ctx-rule);border-radius:3px;padding:.05em .3em;font-size:.88em}.planner-notes-content pre{font-family:var(--f-mono);background:var(--ctx-paper-deep);border:1px solid var(--ctx-rule);border-radius:var(--r-tight);padding:.7em .8em;font-size:.85em;overflow-x:auto}.planner-notes-content pre code{background:0 0;border:none;padding:0}.planner-notes-content mark{background:color-mix(in srgb, var(--ctx-accent) 26%, transparent);color:inherit;border-radius:2px;padding:0 .1em}.planner-notes-content hr{border:none;border-top:1px solid var(--ctx-rule);margin:.8em 0}.planner-notes-content ul[data-type=taskList]{padding-left:0;list-style:none}.planner-notes-content ul[data-type=taskList] li{align-items:flex-start;gap:.5rem;display:flex}.planner-notes-content ul[data-type=taskList] li>label{-webkit-user-select:none;user-select:none;flex:none;margin-top:.2em}.planner-notes-content ul[data-type=taskList] li>div{flex:auto}.planner-notes-content ul[data-type=taskList] li>div>*+*{margin-top:.3em}.planner-notes-content p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;pointer-events:none;height:0;color:var(--ctx-ink-faint)}.planner-progress{align-items:center;gap:8px;display:flex}.planner-progress-track{background:color-mix(in srgb, var(--ctx-ink) 8%, transparent);border-radius:2px;flex:1;height:3px;overflow:hidden}.planner-progress--md .planner-progress-track{border-radius:3px;height:6px}.planner-progress-fill{border-radius:inherit;background:var(--ctx-accent);height:100%;transition:width .24s}.planner-progress-label{font-family:var(--f-mono);color:var(--ctx-ink-mute);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:10px}
