.map-selection-hint{margin:0}.field-label{margin-bottom:.45rem;font-weight:700;display:block}.row{gap:.6rem;display:flex}input{border:1px solid var(--stroke-soft);width:100%;font:inherit;background:#fff;border-radius:.6rem;padding:.62rem .74rem}input:focus-visible{outline-offset:1px;outline:2px solid #bcd4ea}input[type=checkbox]{width:2rem}.button{border:1px solid var(--stroke-soft);font:inherit;cursor:pointer;background:#fff;border-radius:.6rem;padding:.25rem .5rem}.button:disabled{cursor:not-allowed;opacity:.52}.button.primary,.button.subtle,.button.danger{background:#fff}.map-create-popup{gap:.5rem;min-width:220px;display:grid}.map-create-popup p{margin:0}.map-create-popup input{border:1px solid var(--stroke-soft);font:inherit;border-radius:.4rem;padding:.45rem .55rem}.map-create-popup-actions{gap:.45rem;display:flex}.map-create-popup-actions button{border:1px solid var(--stroke-soft);font:inherit;cursor:pointer;background:#fff;border-radius:.4rem;padding:.34rem .56rem}#Footer{border-top:1px solid;border-image:linear-gradient(to right, #fff 0%, var(--color-secondary) 20%, var(--color-secondary) 80%, #fff 100%) 1;justify-content:space-between;align-items:center;padding:1rem 0;display:flex}#Header{z-index:1000;background-color:var(--color-tertiary);border-bottom:1px solid;border-image:linear-gradient(to right, #fff 0%, var(--color-secondary) 10%, var(--color-secondary) 90%, #fff 100%) 1;justify-content:space-between;align-items:center;width:100%;display:flex;position:sticky;top:0}#Header .header-title{align-items:center;display:flex}#Header .header-title img{width:4rem;height:4rem;margin-right:1rem}@media (width<=480px){#Header h1{margin:.5rem 0;font-size:1.5rem}}.screenshot-container{justify-content:center;align-items:center;display:flex}.landing-screenshot{transition:box-shadow .2s}.landing-screenshot:focus-visible{outline-offset:2px;outline:2px solid #000}.screenshot-modal{z-index:1000;background:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s fadeIn;display:flex;position:fixed;top:0;left:0}.modal-screenshot{background:#fff;border-radius:12px;max-width:90vw;max-height:90vh;box-shadow:0 4px 32px #00000040}.modal-close{color:#222;cursor:pointer;z-index:1001;background:#fffffff2;border:none;border-radius:50%;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:2rem;transition:background .15s;display:flex;position:absolute;top:2.5rem;right:2.5rem;box-shadow:0 2px 8px #0000001f}.modal-close:hover,.modal-close:focus-visible{outline-offset:2px;background:#eee;outline:2px solid #000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}#LandingPage{width:100%;max-width:1200px;margin:auto;padding:0 2rem}#LandingPage section{margin:8rem 0;display:flex}#LandingPage .landing-intro{grid-template-columns:50% 50%;display:grid}#LandingPage .landing-intro h1{font-size:3rem}#LandingPage .landing-details{display:block}#LandingPage .landing-details .details{justify-content:space-between;display:flex}#LandingPage .landing-details .details .details-card{border:1px solid var(--color-secondary);border-radius:.5rem;width:30%;padding:2rem}@media (width<=800px){#LandingPage .landing-intro{flex-direction:column;display:flex}#LandingPage .landing-intro>:first-child{margin-bottom:1rem}#LandingPage .landing-details{flex-wrap:wrap}#LandingPage .landing-details .details{flex-direction:column;justify-content:center}#LandingPage .landing-details .details .details-card{width:100%;margin:1rem 0}.screenshot-container{margin-top:2rem}}.trip-gate{gap:.6rem;margin-top:.45rem;display:grid}.trip-gate-intro{margin:0}.trip-gate-status{border:1px solid var(--stroke-soft);background:#fff;border-radius:.32rem;width:fit-content;padding:.12rem .4rem;font-weight:600;display:inline-flex}.trip-gate-form{background:0 0;gap:.35rem;padding:1rem 0;display:grid}.trip-gate-row{gap:.28rem}.trip-gate-form input{border-radius:.42rem;padding:.38rem .48rem}.trip-gate-button{min-width:4.5rem;padding:.22rem .42rem}.gate-note{margin:0;line-height:1.25}.trip-gate-checkbox{align-items:center;gap:.55rem;display:flex}.trip-gate-checkbox input{flex:none}.trip-gate-footer{border-top:1px solid var(--stroke-soft);gap:.35rem;padding-top:.85rem;display:grid}.hero-header{background:#fff;gap:.3rem;display:grid}.hero-header h1{color:var(--color-primary);margin:0;font-size:1.02rem}.status-row{flex-wrap:wrap;gap:.25rem;display:flex}.status-pill{background:#fff;justify-content:center;align-items:center;padding:.12rem .4rem;font-weight:600;display:inline-flex}.trip-meta{margin:.5rem 0}.trip-empty-state{gap:.5rem;margin-top:.75rem;display:grid}.trip-empty-copy{margin:0}.trip-meta-row{padding:.25rem 0}.trip-meta-label{font-weight:700}.trip-meta-value{min-width:0}.trip-name-display{flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:.35rem;display:flex}.trip-name-form{gap:.45rem;margin-top:.35rem;display:grid}.trip-name-form input{width:100%}.trip-name-form-actions{flex-wrap:wrap;gap:.45rem;display:flex}.trip-meta-actions{flex-wrap:wrap;gap:.25rem;margin:1rem 0 .5rem;display:flex}.trip-meta .button,.trip-gate .button{border-radius:.35rem}.location-card{border-top:1px solid;border-image:linear-gradient(to right, var(--color-secondary) 0%, #fff 100%) 1;background:#fff;padding:1rem 0;scroll-margin-top:1rem}.location-card.is-dragging,.todo-item-row.is-dragging{opacity:.72}.location-card-highlight{outline-offset:2px;outline:2px solid #003049}.location-header{gap:.35rem;display:grid}.location-title-line{align-items:center;gap:1rem;display:flex}.drag-handle{cursor:grab;background:0 0;border:none;padding:.15rem .2rem;font-size:1rem;line-height:1}.drag-handle:active{cursor:grabbing}.location-drag-handle{margin-right:-.2rem}.caret-toggle{cursor:pointer;background:0 0;border:none;margin-left:auto;padding:.1rem .4rem .1rem .2rem;font-size:1.1rem;line-height:1}.location-title-wrapper{gap:.15rem;min-width:0;display:grid}.location-title{font-weight:700;line-height:1.2}.location-address{word-break:break-word;font-size:.92rem;line-height:1.35}.location-subtitle{font-weight:700}.location-actions{flex-wrap:wrap;gap:.25rem;display:flex}.location-actions-below{justify-content:space-around;margin-top:.25rem}.location-actions-below .location-action-button{border:none;min-width:0;margin-right:.5rem}.items-list{flex-direction:column;gap:.28rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.todo-item-row{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.35rem;display:grid}.todo-item-toggle{cursor:pointer;align-items:center;gap:.45rem;min-width:0;display:flex}.todo-item-text{word-break:break-word;min-width:0}.todo-item-text.is-done{text-decoration:line-through}.checkbox-wrap,.todo-item-toggle input{place-items:center;display:grid}.add-task-button{margin-top:.35rem}.new-item-form{gap:.28rem;margin-top:.35rem;display:grid}.new-item-input{border-radius:.42rem;padding:.38rem .45rem}.new-item-actions{flex-wrap:wrap;gap:.25rem;display:flex}.location-editor-backdrop{z-index:80;background:#0924482e;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.location-editor-dialog{border:1px solid var(--stroke-soft);background:#fff;border-radius:.7rem;width:min(92vw,22rem);padding:.75rem;box-shadow:0 12px 36px #0924482e}.location-editor-form{gap:.35rem;display:grid}.directions-dialog{gap:.85rem;display:grid}.directions-dialog-copy{gap:.35rem;display:grid}.directions-dialog-text{margin:0}.location-editor-actions{flex-wrap:wrap;justify-content:space-around;gap:.25rem;display:flex}.location-editor-form input{border-radius:.42rem;padding:.42rem .5rem}.locations-grid{grid-template-columns:1fr;gap:.8rem;margin-top:1rem;display:grid}.empty-state{background:#fff}.empty-state h2{margin:0}.empty-state p{margin-top:.5rem}.side-menu-dialog-backdrop{z-index:81;background:#0924482e;place-items:center;padding:1rem;display:grid;position:fixed}.toast-stack{z-index:100;pointer-events:none;flex-direction:column;gap:.55rem;width:min(420px,100vw - 2rem);display:flex;position:fixed;bottom:1.4rem;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;border-radius:.65rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;animation:.2s toast-in;display:flex;box-shadow:0 4px 18px #00000024}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.toast--error{color:#7c1d1d;background:#fff5f5;border:1px solid #e7bcbc}.toast--success{color:#1a5c30;background:#f0faf3;border:1px solid #a3d9b1}.toast--info{color:#1a3a5c;background:#f0f6ff;border:1px solid #aac4e8}.toast-message{flex:1;line-height:1.35}.toast-dismiss{cursor:pointer;opacity:.6;color:inherit;background:0 0;border:none;flex-shrink:0;padding:.1rem .25rem;line-height:1}.toast-dismiss:hover{opacity:1}.app-shell{min-height:100dvh;color:var(--color-graphite-dark);position:relative}.map-stage{justify-content:center;align-items:center;height:100vh;display:flex}.map-instruction{z-index:8;border:1px solid var(--stroke-soft);background:#ffffffe6;max-width:min(460px,100% - 2rem);margin:0;padding:.55rem .7rem;position:absolute;bottom:1rem;right:1rem}.button-icon{width:72%;height:72%;display:block}.menu-toggle{top:calc(env(safe-area-inset-top,0px) + 1rem);z-index:25;border:1px solid var(--stroke-soft);cursor:pointer;background:#fff;border-radius:.6rem;width:2.8rem;height:2.8rem;font-size:1.35rem;font-weight:700;line-height:1;position:fixed;left:1rem}.menu-toggle:disabled{opacity:0;cursor:not-allowed}.menu-toggle.is-hidden-for-driving{opacity:0;pointer-events:none}.side-menu{width:500px;padding:calc(env(safe-area-inset-top,0px) + .55rem) .55rem calc(env(safe-area-inset-bottom,0px) + .55rem);border-right:1px solid var(--stroke-soft);z-index:30;background:#fff;transition:transform .22s;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto;transform:translate(-102%);box-shadow:0 0 0 1px #00000005}.side-menu.is-open{transform:translate(0)}.side-menu-close{top:calc(env(safe-area-inset-top,0px) + .55rem);border:1px solid var(--stroke-soft);cursor:pointer;background:#fff;border-radius:.6rem;width:2.3rem;height:2.3rem;font-size:1.1rem;font-weight:700;position:absolute;right:.55rem}.side-menu-close:disabled{opacity:.45;cursor:not-allowed}.install-prompt{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);z-index:24;border:1px solid var(--stroke-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff5;border-radius:1rem;width:min(30rem,100% - 2rem);padding:.85rem .9rem;position:fixed;transform:translate(-50%);box-shadow:0 18px 44px #0924482e}.trip-gate-dialog-backdrop{z-index:35;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0813236b;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.trip-gate-dialog{border:1px solid var(--stroke-soft);background:#fffffffa;border-radius:1rem;width:min(34rem,100%);max-height:min(42rem,100vh - 2rem);padding:1rem 1.1rem;overflow-y:auto;box-shadow:0 24px 56px #0924483d}.trip-gate-dialog-header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.trip-gate-dialog-header h2{margin:.2rem 0 0}.trip-gate-dialog-copy{margin:.75rem 0 0}.install-prompt h2{margin:.25rem 0 0;font-size:1.1rem}.install-prompt p{margin:.45rem 0 0}.install-prompt-actions{flex-wrap:wrap;gap:.6rem;margin-top:.9rem;display:flex}.eyebrow{letter-spacing:.06em;text-transform:uppercase;margin:0;font-weight:700}@media (width<=720px){.side-menu{width:100vw;max-width:100vw}.install-prompt{bottom:calc(env(safe-area-inset-bottom,0px) + .75rem);width:calc(100% - 1rem)}.trip-gate-dialog{max-height:calc(100vh - 1rem);padding:.9rem}.trip-gate-dialog-header,.install-prompt-actions,.row{flex-direction:column;align-items:stretch}}:root{--color-primary:#1a73e8;--color-secondary:#d3d3d3;--color-tertiary:#fff;--color-neutral:#202124;--color-graphite:#494c50;--color-graphite-dark:#303236;--stroke-soft:#0f3c703d;min-height:100svh;color:var(--color-neutral);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Sora,Segoe UI,sans-serif;font-weight:400;line-height:1.4}html,body,#root{height:100%}*{box-sizing:border-box}body{background:var(--color-tertiary);min-height:100dvh;margin:0}.cta-button{background-color:var(--color-primary);width:fit-content;color:var(--color-tertiary);cursor:pointer;border:none;border-radius:.25rem;height:2.5rem;padding:.5rem 1rem;text-decoration:none;display:block}.cta-button:focus-visible{outline-offset:2px;outline:2px solid #000}.color-primary{color:var(--color-primary)}.color-graphite{color:var(--color-graphite)}
