:root{--bg:#f8fafc;--text:#0f172a;--muted:#475569;--accent:#0f766e;--badge-bg:#fef3c7;--badge-text:#92400e;--surface:#fff;--border:#cbd5e1;--on-accent:#fff;--error:#b91c1c;--success:#15803d;--on-status:#fff;--star:#d97706}@media (prefers-color-scheme:dark){:root{--bg:#0b1120;--text:#f1f5f9;--muted:#94a3b8;--accent:#2dd4bf;--badge-bg:#451a03;--badge-text:#fde68a;--surface:#111827;--border:#334155;--on-accent:#042f2e;--error:#f87171;--success:#4ade80;--on-status:#0b1120;--star:#fbbf24}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}.home{flex-direction:column;justify-content:center;gap:1rem;max-width:40rem;min-height:100dvh;margin:0 auto;padding:1.5rem;display:flex}.home h1{color:var(--accent);margin:0;font-size:2.5rem;line-height:1.1}.home p{color:var(--muted);margin:0;font-size:1.125rem}.page{max-width:28rem;margin:0 auto;padding:3rem 1.5rem}.page h1{color:var(--accent);margin:0;font-size:2rem;line-height:1.2}.page h2{margin:0;font-size:1.25rem}.page p{margin:0}.stack{flex-direction:column;gap:1rem;display:flex}.muted{color:var(--muted)}label{font-weight:600}input[type=email],input[type=text],input[type=date],select{border:1px solid var(--border);background:var(--surface);width:100%;min-height:3rem;color:var(--text);border-radius:.75rem;padding:.75rem 1rem;font-size:1rem}input[type=email]:focus,input[type=text]:focus,input[type=date]:focus,select:focus{outline:2px solid var(--accent);outline-offset:2px}.button{background:var(--accent);min-height:3rem;color:var(--on-accent);font:inherit;cursor:pointer;border:none;border-radius:.75rem;justify-content:center;align-items:center;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-flex}.button:disabled{opacity:.6;cursor:wait}.button--secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}.home .button{align-self:flex-start}.button--danger{width:100%;color:var(--error);border:1px solid var(--error);background:0 0}.field{flex-direction:column;gap:.375rem;min-width:0;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.optional,.hint,.small{font-size:.875rem;font-weight:400}.optional,.hint{color:var(--muted)}.card-list{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.card{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:.75rem;flex-direction:column;gap:.25rem;padding:1rem;text-decoration:none;display:flex}.card:focus-visible,.card:hover{border-color:var(--accent)}.card-title{font-size:1.125rem;font-weight:600}.map-pin{color:#fff;background:#0f766e;border:2px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:2rem;height:2rem;display:flex;position:relative;box-shadow:0 1px 3px #00000059}.map-pin-badge{color:#fff;border:1.5px solid #fff;border-radius:999px;justify-content:center;align-items:center;width:1rem;height:1rem;display:flex;position:absolute;top:-.375rem;right:-.375rem}.map-pin-badge--start{background:#16a34a}.map-pin-badge--end{background:#1e293b}.map-pin-badge--left{left:-.375rem;right:auto}.map-pin--faded{width:.75rem;height:.75rem;box-shadow:none;opacity:.8;background:#94a3b8;border-width:1px}.stay-line{background:var(--surface);border:1px dashed var(--border);color:var(--muted);border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.stay-line svg{color:var(--accent);flex-shrink:0}.day-chips{scrollbar-width:thin;gap:.5rem;padding-bottom:.25rem;display:flex;overflow-x:auto}.day-chip{border:1px solid var(--border);background:var(--surface);min-height:2.75rem;color:var(--text);font:inherit;white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;padding:.375rem .875rem;font-size:.875rem;font-weight:600}.day-chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.day-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map{border:1px solid var(--border);border-radius:.75rem;height:18rem;overflow:hidden}.label{font-weight:600}.place-search gmp-place-autocomplete{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;width:100%;font-size:1rem}@media (prefers-color-scheme:dark){.place-search gmp-place-autocomplete{--lightningcss-light: ;--lightningcss-dark:initial}}textarea{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;resize:vertical;border-radius:.75rem;padding:.75rem 1rem;font-size:1rem}textarea:focus{outline:2px solid var(--accent);outline-offset:2px}fieldset{border:none;margin:0;padding:0}.choice-row{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.choice-row--wrap{flex-wrap:wrap;display:flex}.choice{cursor:pointer;display:flex;position:relative}.choice input{opacity:0;pointer-events:none;position:absolute}.choice span{text-align:center;border:1px solid var(--border);background:var(--surface);border-radius:.75rem;flex:1;justify-content:center;align-items:center;min-height:3rem;padding:.5rem 1rem;font-weight:600;display:flex}.choice input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.choice input:checked+span{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.choice--liked input:checked+span{border-color:var(--success);background:var(--success);color:var(--on-status)}.choice--small{align-self:flex-start}.choice--small span{min-height:2.5rem;font-size:.875rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.star-picker{gap:.25rem;display:flex}.star-picker-star{cursor:pointer;position:relative}.star-picker-star input{opacity:0;pointer-events:none;position:absolute}.star-picker-star span[aria-hidden]{width:3rem;height:3rem;color:var(--border);justify-content:center;align-items:center;font-size:2.25rem;line-height:1;display:flex}:is(.star-picker-star:has(input:checked) span[aria-hidden],.star-picker-star:has(~.star-picker-star input:checked) span[aria-hidden]){color:var(--star)}.star-picker-star input:focus-visible~span[aria-hidden]{outline:2px solid var(--accent);outline-offset:2px;border-radius:.5rem}.star-rating{white-space:nowrap;letter-spacing:.05em;flex-shrink:0;font-size:1rem}.star{color:var(--border)}.star--on{color:var(--star)}.card-row{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.comment-preview{-webkit-line-clamp:2;color:var(--muted);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.share{border:1px solid var(--border);background:var(--surface);border-radius:.75rem;padding:1rem}.share h2{margin:0;font-size:1.125rem}.share-url{background:var(--bg);overflow-wrap:anywhere;border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}.button-row{grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:.5rem;display:grid}.eyebrow{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.875rem;font-weight:600}.comment{white-space:pre-line}.shared-footer{border-top:1px solid var(--border);padding-top:1rem}.day{border-top:1px solid var(--border);padding-top:1rem;scroll-margin-top:1rem}.day-header{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.day-title{flex-direction:column;margin:0;font-size:1rem;display:flex}.day-name{color:var(--accent);font-size:1.25rem}.day-note{white-space:pre-line;color:var(--muted)}ol.card-list{list-style:none}.card-with-actions{align-items:stretch;gap:.5rem;display:flex}.card-with-actions>.card{flex:1;min-width:0}.order-buttons{flex-direction:column;gap:.25rem;display:flex}.order-buttons form{flex:1;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface);min-width:2.75rem;min-height:2.75rem;color:var(--text);cursor:pointer;border-radius:.75rem;flex:1;font-size:1.125rem}.icon-button:disabled{opacity:.35;cursor:default}.success{color:var(--success);font-weight:600}.details{flex-direction:column;gap:.75rem;margin:0;display:flex}.details dt{color:var(--muted);font-size:.875rem}.details dd{margin:0}.link{color:var(--accent)}.error{color:var(--error);font-weight:600}.signed-in{color:var(--text)}.badge{background:var(--badge-bg);color:var(--badge-text);border-radius:999px;align-self:flex-start;padding:.25rem .75rem;font-size:.875rem;font-weight:600}.home .db-status{font-size:.875rem;font-weight:600}.db-status--connected{color:#15803d}.db-status--notConfigured,.db-status--unreachable{color:#b91c1c}@media (min-width:768px){.home h1{font-size:3.5rem}}.place-photo{object-fit:cover;background:var(--surface);border-radius:.75rem;width:100%;height:auto;max-height:24rem;display:block}.sr-only:focus-visible+label{outline:2px solid var(--accent);outline-offset:2px}label.button[aria-disabled=true]{opacity:.6;pointer-events:none}.card--thumb{flex-direction:row;align-items:flex-start;gap:.75rem}.card-body{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.card-thumb{object-fit:cover;border-radius:.5rem;flex:none;width:4.5rem;height:4.5rem}.card-photo-link{margin:-.25rem -.25rem .5rem;display:block}.card-photo{object-fit:cover;border-radius:.5rem;width:100%;height:auto;max-height:20rem;display:block}.photo-heading{margin:0;font-size:1rem}.site-footer{max-width:28rem;margin:0 auto;padding:0 1.5rem 2rem;font-size:.875rem}.legal p{overflow-wrap:anywhere}.legal h2{font-size:1.125rem}button.link{font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;text-decoration:underline}
