:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--gap:1rem;--ink:#13294b;--paper:#fff8ec;--surface:#fff;--coral:#e8663f;--route:#3c6e91;--danger:#b3261e;--radius-card:1rem;--radius-chip:.625rem;color:var(--ink);accent-color:var(--coral);background:var(--paper);--muted:color-mix(in srgb, currentColor 55%, transparent);--line:color-mix(in srgb, currentColor 15%, transparent);font-family:system-ui,-apple-system,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--ink:#f4ebdd;--paper:#0b1a2e;--surface:#14263f;--coral:#ff8a63;--route:#7fb1d6;--danger:#ff8b80}}:focus-visible{outline:2px solid var(--coral);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.icon{vertical-align:-.15em;flex:none;display:inline-block}body{margin:0}button[type=submit],button.primary{background:var(--coral);border-color:var(--coral);color:#fff;font-weight:600}a{color:var(--route)}main{box-sizing:border-box;width:100%;max-width:34rem;padding:var(--gap);margin:0 auto}h1{margin:0 0 .25rem;font-size:1.35rem}h2{color:var(--ink);margin:1.75rem 0 .6rem;font-size:1.05rem;font-weight:700}h3{margin:0;font-size:1rem}p{margin:.25rem 0}button{font:inherit;border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:.5rem;min-height:2.75rem;padding:.6rem 1rem}button:disabled{opacity:.5;cursor:default}.status,.join{padding-top:2rem}#root{flex-direction:column;min-height:100dvh;display:flex}.brand{color:var(--ink);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.05rem;font-weight:700;display:flex}.brand img{box-shadow:0 1px 3px color-mix(in srgb, var(--ink) 20%, transparent);border-radius:22%}.status-icon{width:3rem;height:3rem;color:var(--coral);background:color-mix(in srgb, var(--coral) 12%, transparent);border-radius:50%;justify-content:center;align-items:center;margin-bottom:.75rem;font-size:1.5rem;display:inline-flex}.status-icon.busy{animation:1.6s ease-in-out infinite status-pulse}@keyframes status-pulse{50%{opacity:.45}}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skeleton .bone{background:color-mix(in srgb, var(--ink) 9%, transparent);border-radius:.5rem;animation:1.4s ease-in-out infinite status-pulse}.skeleton .title{width:65%;height:1.6rem;margin-bottom:.5rem}.skeleton .line{width:45%;height:1rem}.skeleton .heading{width:35%;height:1.1rem;margin:2rem 0 .75rem}.skeleton .card{border-radius:var(--radius-card);height:6.5rem;margin-bottom:.75rem}.join form{margin-top:var(--gap);flex-direction:column;gap:.5rem;display:flex}.join label{color:var(--muted);font-size:.875rem}.join input{font:inherit;border:1px solid var(--line);color:inherit;background:0 0;border-radius:.5rem;min-height:2.75rem;padding:.6rem .75rem}.app-promo{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);margin:.75rem 0 1.25rem;padding:1rem}.app-promo .title{margin:0 0 .25rem;font-weight:700}.app-promo p{margin:0 0 .5rem}.app-promo .actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.app-promo .button{border-radius:var(--radius-chip);background:var(--coral);color:#fff;align-items:center;min-height:2.75rem;padding:0 1rem;font-weight:600;text-decoration:none;display:inline-flex}.app-promo .link{color:var(--muted);background:0 0;border:none;text-decoration:underline}.app-promo .hint{color:var(--muted);margin:.5rem 0 0;font-size:.8125rem}#join-code{letter-spacing:.25em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.join .hint{color:var(--muted);margin:0;font-size:.8125rem}.itinerary header p{color:var(--muted)}.itinerary ul.slots{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.itinerary ul.slots>li{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface);box-shadow:0 1px 2px color-mix(in srgb, var(--ink) 6%, transparent);padding:.85rem}.slot{gap:.75rem;display:flex}.slot .time{color:var(--muted);font-variant-numeric:tabular-nums;flex:0 0 3.5rem;padding-top:.15rem;font-size:.875rem}.slot .body{flex:1;min-width:0}.chip{border-radius:var(--radius-chip);background:color-mix(in srgb, var(--ink) 7%, transparent);color:var(--muted);align-items:center;gap:.3rem;padding:.2rem .55rem;font-size:.8125rem;line-height:1.3;display:inline-flex}.trip-meta{color:var(--muted)}.day-title{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.day-no{color:var(--coral)}.chip.today{background:var(--coral);color:#fff;font-weight:700}.slot-head{flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;display:flex}.place{min-height:2.75rem;color:inherit;align-items:center;gap:.75rem;margin-top:.5rem;text-decoration:none;display:flex}.place-text{flex-direction:column;flex:1;min-width:0;display:flex}.place-name{color:var(--route);overflow-wrap:anywhere;font-size:.9375rem;font-weight:600}.place-address{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8125rem;overflow:hidden}.chip.map{color:var(--route);background:color-mix(in srgb, var(--route) 12%, transparent);flex:none;min-height:2rem;font-weight:600}.itinerary ul.alternatives{flex-wrap:wrap;gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.empty{color:var(--muted);font-size:.875rem}[role=alert]{color:var(--danger)}[role=alert]:before{content:"";vertical-align:-.15em;background:currentColor;width:1em;height:1em;margin-right:.35em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19L12 3Zm0 6.5v5m0 3v.01'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3 2.5 20h19L12 3Zm0 6.5v5m0 3v.01'/%3E%3C/svg%3E") 50%/contain no-repeat}code{font-family:ui-monospace,monospace}.feedback{border-top:1px solid var(--line);margin-top:.75rem;padding-top:.5rem}.votes{flex-wrap:wrap;gap:.4rem;display:flex}.votes button.chip{font-variant-numeric:tabular-nums;min-width:2.75rem;min-height:2.75rem;color:var(--muted);border:1px solid #0000;justify-content:center;padding:0 .75rem;font-size:.875rem}.votes button.chip .icon{font-size:1.05rem}.votes button[aria-pressed=true]{border-color:var(--coral);background:color-mix(in srgb, var(--coral) 14%, transparent);color:var(--coral);font-weight:600}.votes .comment-toggle{margin-left:auto}button.link{color:var(--muted);border-color:#0000}.comments ul{gap:.25rem;margin:.5rem 0;padding:0;list-style:none}.comments li{border:none;justify-content:space-between;align-items:baseline;gap:.5rem;padding:.25rem 0;display:flex}.comments form{gap:.5rem;margin-top:.5rem;display:flex}.comments input{font:inherit;border:1px solid var(--line);min-width:0;color:inherit;background:0 0;border-radius:.5rem;flex:1;min-height:2.75rem;padding:.5rem .6rem}.comments label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.checklist{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.checklist h2{margin-top:0}.checklist .count{font-variant-numeric:tabular-nums;font-weight:400}.checklist h3{color:var(--muted);margin:1rem 0 .25rem;font-size:.875rem}.checklist ul{margin:0;padding:0;list-style:none}.checklist li{border:none;padding:0}.checklist label{cursor:pointer;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem 0;display:flex}.checklist input{flex:none;width:1.25rem;height:1.25rem}.checklist .done{color:var(--muted);text-decoration:line-through}.album{border-top:1px solid var(--line);margin-top:2rem;padding-top:1rem}.album h2{margin-top:0}.album h3{color:var(--muted);margin:1rem 0 .5rem;font-size:.875rem}.album ul{grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:4px;margin:0;padding:0;list-style:none;display:grid}.album li{border:none;padding:0}.album li button{aspect-ratio:1;background:color-mix(in srgb, currentColor 10%, transparent);border:none;border-radius:6px;width:100%;min-height:0;padding:0;overflow:hidden}.album li img{object-fit:cover;width:100%;height:100%;display:block}.album li .placeholder{width:100%;height:100%;display:block}.album-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem .5rem;display:flex}.album-actions{gap:.25rem;display:flex}.album-actions button.link{color:var(--coral);padding-inline:.5rem;font-weight:600}.album-result{color:var(--muted);font-size:.875rem}.album li{position:relative}.album li.picked button{outline:3px solid var(--coral);outline-offset:-3px}.album li.picked:after{content:"✓";background:var(--coral);color:#fff;text-align:center;pointer-events:none;border-radius:50%;width:1.4rem;height:1.4rem;font-size:.85rem;line-height:1.4rem;position:absolute;top:4px;right:4px}.bulk-bar{z-index:5;padding:.75rem 1rem calc(env(safe-area-inset-bottom,0px) + .75rem);background:var(--surface);border-top:1px solid var(--line);box-shadow:0 -2px 8px color-mix(in srgb, var(--ink) 10%, transparent);text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .75rem;display:flex;position:fixed;bottom:0;left:0;right:0}.bulk-bar p{flex-basis:100%;max-width:28rem;margin:0}.bulk-bar .actions{gap:.5rem;width:100%;max-width:24rem;display:flex}.bulk-bar .actions button{flex:1}.bulk-bar>button.primary{width:100%;max-width:24rem}.album:has(.bulk-bar){padding-bottom:6rem}.viewer{z-index:10;color:#fff;padding:calc(env(safe-area-inset-top,0px) + 4.5rem) .75rem calc(env(safe-area-inset-bottom,0px) + 4.5rem);background:#000000f5;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer img,.viewer video{object-fit:contain;max-width:100%;max-height:100%}.viewer .download,.viewer .close{top:calc(env(safe-area-inset-top,0px) + .75rem);color:#fff;background:#00000080;border:1px solid #fff6;border-radius:8px;align-items:center;width:auto;min-height:2.75rem;padding:.5rem 1rem;font-size:.95rem;text-decoration:none;display:inline-flex;position:absolute}.viewer .download{left:.75rem}.viewer .download-group{top:calc(env(safe-area-inset-top,0px) + .75rem);z-index:2;gap:2px;display:flex;position:absolute;left:.75rem}.viewer .download-group .download{border-radius:8px 0 0 8px;position:static}.viewer .download-more{color:#fff;background:#00000080;border:1px solid #fff6;border-radius:0 8px 8px 0;width:auto;min-height:2.75rem;padding:.5rem .75rem}.viewer .download-menu{background:#141414eb;border-radius:10px;flex-direction:column;min-width:15rem;max-width:calc(100vw - 1.5rem);padding:.25rem;display:flex;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 6px 20px #0006}.viewer .download-item{color:#fff;text-align:left;background:0 0;border:0;border-radius:8px;flex-direction:column;align-items:flex-start;width:100%;min-height:0;padding:.6rem .75rem;text-decoration:none;display:flex}.viewer .download-item:hover{background:#ffffff1f}.viewer .download-item .label{font-weight:600}.viewer .download-item .hint{color:#ffffffb3;font-size:.8125rem}.viewer .close{right:.75rem}.viewer .placeholder{border:3px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:3rem;height:3rem;animation:.9s linear infinite viewer-spin}@keyframes viewer-spin{to{transform:rotate(360deg)}}.viewer-message{text-align:center;max-width:28rem;line-height:1.5}.viewer-notice{left:.75rem;right:.75rem;bottom:calc(env(safe-area-inset-bottom,0px) + 1rem);color:#fff;text-align:center;background:#000000b3;border-radius:8px;max-width:28rem;margin:0 auto;padding:.6rem .9rem;position:absolute}.legal{max-width:720px;margin:0 auto;padding:24px 16px 48px;line-height:1.6}.legal h1{margin-bottom:4px;font-size:1.6rem}.legal h2{margin-top:28px;font-size:1.15rem}.legal-updated{color:var(--muted);margin-top:0}.legal-notice{color:var(--muted);border-left:3px solid var(--line);padding-left:10px;font-size:.875rem}.legal-nav{color:var(--muted);margin-top:40px}.legal h3{margin:20px 0 4px;font-size:1rem}.support-contact{border-left:3px solid var(--coral);padding-left:10px}.album-expiry{color:var(--muted);margin-top:0;font-size:.85rem}.language-switcher{box-sizing:border-box;width:100%;max-width:34rem;padding-block:1rem calc(env(safe-area-inset-bottom,0px) + 1.5rem);padding-inline:var(--gap);color:var(--muted);margin:auto auto 0;font-size:.875rem}.language-switcher select{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:.5rem;min-height:2.25rem;margin-left:.25rem;padding:.35rem .5rem}.checklist h2,.album h2{font-size:1.2rem}.companions{color:var(--muted);flex-wrap:wrap;align-items:center;gap:.5rem;margin:.5rem 0 0;font-size:.875rem;display:flex}.avatars{display:inline-flex}.avatar{color:#fff;background:var(--route);border:2px solid var(--paper);border-radius:50%;flex:none;justify-content:center;align-items:center;width:1.9rem;height:1.9rem;font-size:.8125rem;font-weight:700;display:inline-flex}.avatars .avatar+.avatar{margin-left:-.45rem}.avatar.small{border-color:var(--surface);width:1.6rem;height:1.6rem;font-size:.75rem}.avatar.more{background:color-mix(in srgb, var(--ink) 25%, var(--paper));color:var(--ink)}.avatar.tone-0{background:var(--coral)}.avatar.tone-1{background:var(--route)}.avatar.tone-2{background:#5f8a5a}.avatar.tone-3{background:#b07f2a}.avatar.tone-4{background:#7d64a8}.comments li{align-items:flex-start}.comment{flex:1;gap:.5rem;min-width:0;display:flex}.comment-body{min-width:0}.comment-body p{overflow-wrap:anywhere;margin:.1rem 0 0}.comment-meta{color:var(--muted);align-items:baseline;gap:.4rem;font-size:.8125rem;display:flex}.comment-meta strong{color:var(--ink)}.comment-meta strong.me{color:var(--coral)}.checklist .progress{background:color-mix(in srgb, var(--ink) 10%, transparent);border-radius:999px;height:.35rem;margin-bottom:.25rem;overflow:hidden}.checklist .progress span{background:var(--coral);border-radius:inherit;height:100%;display:block}.checklist .checked-by{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.8125rem}.section-nav{top:env(safe-area-inset-top,0px);z-index:5;margin:.75rem calc(-1 * var(--gap)) 0;padding:.5rem var(--gap);background:color-mix(in srgb, var(--paper) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);gap:.35rem;display:flex;position:sticky}.section-nav button{border-color:var(--line);background:var(--surface);border-radius:999px;min-height:2.5rem;padding:0 .85rem;font-size:.875rem;font-weight:600}.section-nav .count{color:var(--muted);font-variant-numeric:tabular-nums;font-weight:500}#plan,#prep,#photos{scroll-margin-top:calc(env(safe-area-inset-top,0px) + 4rem)}.notice-card{border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line);align-items:flex-start;gap:.75rem;margin:.5rem 0 .75rem;padding:.85rem 1rem;display:flex}.notice-card>.icon{color:var(--coral);margin-top:.1rem;font-size:1.35rem}.notice-card .title{margin:0 0 .15rem;font-weight:700}.notice-card p{color:var(--muted);margin:0;font-size:.875rem}.album li .placeholder.locked{background:repeating-linear-gradient(135deg, color-mix(in srgb, var(--ink) 6%, transparent) 0 8px, color-mix(in srgb, var(--ink) 10%, transparent) 8px 16px)}.viewer{touch-action:pan-y}.viewer .nav{color:#fff;background:#00000073;border:1px solid #ffffff4d;border-radius:50%;width:2.75rem;height:2.75rem;min-height:2.75rem;padding:0;font-size:1.6rem;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.viewer .nav:disabled{opacity:.25}.viewer .nav.prev{left:.5rem}.viewer .nav.next{right:.5rem}.viewer-caption{left:.75rem;right:.75rem;bottom:calc(env(safe-area-inset-bottom,0px) + .75rem);text-align:center;color:#fff;position:absolute}.viewer-caption p{margin:0}.viewer-caption .where{font-weight:600}.viewer-caption .meta{color:#ffffffbf;justify-content:center;gap:.6rem;font-size:.8125rem;display:flex}.viewer-caption .counter{font-variant-numeric:tabular-nums}.viewer-caption .viewer-notice{position:static}.trip-footer{border-top:1px solid var(--line);margin-top:2.5rem;padding-top:1rem}button.leave{color:var(--muted);border-color:#0000;padding-inline:0;text-decoration:underline}.leave-confirm{border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface);margin-top:1rem;padding:.85rem 1rem}.leave-confirm p{margin:0 0 .75rem}.leave-confirm .actions{flex-wrap:wrap;gap:.5rem;display:flex}button.danger{background:var(--danger);border-color:var(--danger);color:#fff;font-weight:600}.status button.leave{margin-top:1.5rem}.comments details.earlier{color:var(--muted);margin-top:.5rem}.comments details.earlier summary{cursor:pointer;padding:.6rem 0;font-size:.875rem}.comments details.earlier .hint{margin:0;font-size:.8125rem}.comments details.earlier .comment-body p{color:var(--muted)}.checklist .item-text{flex-direction:column;min-width:0;display:flex}.checklist .assignee{color:var(--muted);font-size:.8125rem}.checklist .assignee.mine{color:var(--coral);font-weight:600}.slot-description p{color:var(--muted);margin:.15rem 0 0}.slot-description p.clamped{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.slot-description .link{padding:.25rem 0;font-size:.875rem}
