/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.absolute{position:absolute}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.contents{display:contents}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--ink:#183332;--muted:#607471;--cream:#fbf7ed;--paper:#fffdf8;--coral:#d9684f;--coral-dark:#b94e3a;--ocean:#207f83;--ocean-dark:#145f63;--palm:#3f6f58;--sun:#f4bd54;--line:#18333224;--shadow:0 18px 60px #22423f1f;--serif:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 10% 0%, #f4bd541f, transparent 24rem), var(--cream);min-width:320px;color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.55}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:4px solid #207f8347}h1,h2,p{margin-top:0}h1,h2{font-family:var(--serif);letter-spacing:-.035em;font-weight:500}h1{font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98}h2{font-size:clamp(1.55rem,3vw,2.25rem);line-height:1.1}a{color:inherit;text-decoration:none}.eyebrow{color:var(--coral-dark);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.75rem;font-size:.78rem;font-weight:800}.primary-button,.secondary-button{cursor:pointer;border-radius:999px;justify-content:center;align-items:center;min-height:52px;padding:.8rem 1.35rem;font-weight:750;line-height:1.1;transition:transform .15s,background .15s,box-shadow .15s;display:inline-flex}.primary-button{border:1px solid var(--coral);background:var(--coral);color:#fff;box-shadow:0 8px 20px #b94e3a33}.primary-button:hover{background:var(--coral-dark);transform:translateY(-1px)}.primary-button:disabled{cursor:wait;opacity:.62;transform:none}.secondary-button{border:1px solid var(--line);color:var(--ink);background:#ffffffad}.secondary-button:hover{background:#fff;border-color:#18333247;transform:translateY(-1px)}.text-button{color:var(--ocean-dark);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;padding:.2rem 0;font-weight:800}.quiet-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;min-height:44px;padding:.55rem .95rem;font-size:.9rem;font-weight:700}.language-toggle{min-width:44px;min-height:44px;color:var(--ocean-dark);cursor:pointer;background:#ffffff9e;border:1px solid #207f8347;border-radius:999px;justify-content:center;align-items:center;padding:.5rem .8rem;font-size:.78rem;font-weight:850;display:inline-flex}.language-toggle:hover,.language-toggle:focus-visible{border-color:var(--ocean);background:#fff}.language-label-short{display:none}.visually-hidden{clip:rect(1px, 1px, 1px, 1px)!important;white-space:nowrap!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.site-shell{min-height:100vh;padding-bottom:2rem}.topbar{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fbf7ede6;border-bottom:1px solid #18333217;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.5rem;min-height:76px;padding:.75rem clamp(1.1rem,4vw,4.5rem);display:grid;position:sticky;top:0}.wordmark{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.75rem;width:max-content;min-height:44px;padding:0;display:inline-flex}.wordmark-seal{width:43px;height:43px;font-family:var(--serif);border:1px solid #18333240;border-radius:50%;place-items:center;font-size:1rem;display:grid}.wordmark strong,.wordmark small{display:block}.wordmark strong{font-family:var(--serif);font-size:1rem}.wordmark small{color:var(--coral-dark);letter-spacing:.2em;text-transform:uppercase;font-size:.64rem;font-weight:900}.desktop-nav{border:1px solid var(--line);isolation:isolate;background:#ffffff85;border-radius:999px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;min-width:430px;padding:.28rem;display:grid;position:relative;overflow:hidden}.nav-active-indicator{z-index:0;background:var(--ink);pointer-events:none;width:calc(25% - .14rem);transform:translate3d(calc(var(--nav-index) * 100%), 0, 0);border-radius:999px;transition:transform .36s cubic-bezier(.22,1,.36,1),background .18s;position:absolute;top:.28rem;bottom:.28rem;left:.28rem}.desktop-nav button{z-index:1;min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.45rem 1rem;font-size:.92rem;font-weight:750;transition:color .2s,transform .16s;position:relative}.desktop-nav button.active{color:#fff;background:0 0}.account-actions{justify-self:end;align-items:center;gap:.65rem;display:flex}.organizer-badge{min-height:34px;color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;background:#da674917;border:1px solid #da674947;border-radius:999px;align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.72rem;font-weight:900;display:inline-flex}.organizer-badge span{font-size:.85rem}.hero{--hero-scroll-y:0px;--hero-sun-x:0px;--hero-sun-y:0px;--hero-island-x:0px;--hero-island-y:0px;--hero-island-back-x:0px;--hero-island-back-y:0px;--hero-wave-x:0px;--hero-wave-y:0px;--hero-wave-two-y:0px;--hero-wave-three-y:0px;--hero-tilt-x:0deg;--hero-tilt-y:0deg;border-bottom:1px solid var(--line);grid-template-columns:1.05fr .95fr;align-items:center;min-height:680px;padding:clamp(3.5rem,8vw,8rem) clamp(1.25rem,7vw,8rem);display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;max-width:770px;position:relative}.hero-copy h1{max-width:700px;margin-bottom:1.6rem}.hero-copy>p:not(.eyebrow){max-width:660px;color:var(--muted);margin-bottom:2rem;font-size:clamp(1.1rem,2vw,1.35rem)}.hero-actions{flex-wrap:wrap;gap:.8rem;display:flex}.hero-landscape{width:min(42vw,590px);height:min(42vw,590px);box-shadow:var(--shadow);translate:0 var(--hero-scroll-y);transform:perspective(900px) rotateX(var(--hero-tilt-x)) rotateY(var(--hero-tilt-y));background:linear-gradient(#f8dba1 0% 48%,#79c4c2 48%,#207f83 100%);border:1px solid #18333226;border-radius:50%;justify-self:end;transition:transform .32s cubic-bezier(.22,1,.36,1),translate 80ms linear;position:relative;overflow:hidden}.hero-sun{aspect-ratio:1;width:22%;transform:translate3d(var(--hero-sun-x), var(--hero-sun-y), 0);background:#fff4cd;border-radius:50%;transition:transform .42s cubic-bezier(.22,1,.36,1);animation:3.8s ease-in-out infinite hero-sun-glow;position:absolute;top:18%;left:19%;box-shadow:0 0 40px #fff4cdcc}.island{z-index:2;background:var(--palm);border-radius:55% 45% 15% 18%;position:absolute;bottom:31%;transform:rotate(-4deg)}.island:after{content:"";background:#e9bf70;border-radius:50%;width:108%;height:18px;position:absolute;bottom:-9px;left:-4%}.island-one{width:48%;height:16%;transform:translate3d(var(--hero-island-x), var(--hero-island-y), 0) rotate(-4deg);transition:transform .46s cubic-bezier(.22,1,.36,1);left:15%}.island-two{width:33%;height:10%;transform:translate3d(var(--hero-island-back-x), var(--hero-island-back-y), 0) rotate(6deg);transition:transform .52s cubic-bezier(.22,1,.36,1);right:10%}.wave{z-index:3;border-top:2px solid #ffffffb3;border-radius:50%;width:120%;height:12%;position:absolute;left:-10%}.wave-one{transform:translate3d(var(--hero-wave-x), var(--hero-wave-y), 0);transition:transform .38s cubic-bezier(.22,1,.36,1);bottom:19%}.wave-two{transform:translate3d(calc(12% + var(--hero-wave-x)), var(--hero-wave-two-y), 0);transition:transform .46s cubic-bezier(.22,1,.36,1);bottom:11%}.wave-three{transform:translate3d(calc(-9% + var(--hero-wave-x)), var(--hero-wave-three-y), 0);transition:transform .54s cubic-bezier(.22,1,.36,1);bottom:3%}.home-grid{grid-template-columns:1fr 1fr;gap:1.25rem;max-width:1320px;margin:-3.5rem auto 0;padding:0 1.25rem;display:grid}.feature-card{z-index:3;border:1px solid var(--line);background:var(--paper);min-height:300px;box-shadow:var(--shadow);border-radius:30px;padding:clamp(1.5rem,4vw,2.75rem);position:relative;overflow:hidden}.schedule-preview{grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:1.3rem 1.8rem;display:grid}.schedule-preview>.eyebrow{grid-column:1/-1;align-self:end;margin-bottom:-.5rem}.large-date{color:var(--coral);font-family:var(--serif);font-size:clamp(4.5rem,9vw,8rem);line-height:.8}.schedule-preview h2,.photo-preview h2{margin-bottom:.5rem}.schedule-preview p,.photo-preview p{color:var(--muted);margin-bottom:.4rem}.gentle-empty{grid-column:1/-1}.gentle-empty .text-button{margin-top:.8rem}.photo-preview{background:var(--ink);color:#fff;grid-template-columns:1fr 210px;align-items:center;gap:1.4rem;display:grid}.photo-preview .eyebrow{color:#f4bd54}.photo-preview p{color:#ffffffab}.photo-preview .text-button{color:#fff;margin-top:1rem}.mini-photo-stack{justify-self:end;width:180px;height:210px;position:relative}.mini-photo-stack img,.mini-photo-stack span{object-fit:cover;width:130px;height:160px;color:var(--ink);font-family:var(--serif);background:#d7a85d;border:7px solid #fff;border-bottom-width:28px;border-radius:6px;place-items:center;font-size:1.1rem;display:grid;position:absolute;box-shadow:0 12px 30px #0000003b}.mini-photo-stack>:first-child{top:20px;left:6px;transform:rotate(-10deg)}.mini-photo-stack>:nth-child(2){top:4px;right:2px;transform:rotate(9deg)}.mini-photo-stack>:nth-child(3){bottom:0;right:25px;transform:rotate(1deg)}.ease-strip{text-align:center;max-width:1180px;margin:6rem auto;padding:2rem 1.25rem}.ease-strip>div{justify-content:center;align-items:center;gap:clamp(1rem,5vw,4rem);margin:2rem 0 1rem;display:flex}.ease-strip span{align-items:center;gap:.6rem;font-weight:750;display:flex}.ease-strip b{background:var(--ocean);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.ease-strip>p:last-child{color:var(--muted)}.page-content{width:min(1180px,100% - 2.5rem);margin:0 auto;padding:clamp(3rem,7vw,6rem) 0 7rem}.page-heading{justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:3.5rem;display:flex}.page-heading h1{margin-bottom:.8rem;font-size:clamp(3rem,7vw,5.3rem)}.page-heading p:not(.eyebrow){max-width:670px;color:var(--muted);margin-bottom:0;font-size:1.1rem}.heading-actions{flex-wrap:wrap;flex-shrink:0;gap:.7rem;display:flex}.itinerary{gap:3rem;display:grid}.day-group{grid-template-columns:220px 1fr;gap:2rem;display:grid}.day-heading{align-items:center;gap:1rem;height:max-content;display:flex;position:sticky;top:100px}.day-heading>span{color:var(--coral);font-family:var(--serif);font-size:4.5rem;line-height:1}.day-heading p{font-family:var(--serif);margin-bottom:.15rem;font-size:1rem;font-weight:700;line-height:1.25}.day-heading small{color:var(--muted)}.day-events{gap:.8rem;display:grid}.event-card{border:1px solid var(--line);background:#fffdf8d6;border-radius:22px;grid-template-columns:92px 46px 1fr auto;align-items:start;gap:1rem;padding:1.35rem;display:grid}.event-time{padding-top:.15rem;font-size:.9rem;font-weight:850}.category-mark{width:42px;height:42px;color:var(--ocean-dark);background:#207f831a;border-radius:50%;place-items:center;font-size:1.3rem;display:grid}.event-category{color:var(--coral-dark);letter-spacing:.13em;text-transform:uppercase;margin-bottom:.2rem;font-size:.68rem;font-weight:900;display:block}.event-details h2{margin-bottom:.35rem;font-size:1.45rem}.event-location,.event-notes{margin-bottom:.35rem}.event-location{font-weight:700}.event-notes,.event-details small{color:var(--muted)}.admin-actions{gap:.35rem;display:flex}.admin-actions button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.35rem;font-size:.78rem;font-weight:750}.admin-actions button:hover{color:var(--coral-dark)}.admin-actions .event-assign-button{color:var(--ocean-dark);background:#207f831c;border-radius:999px;padding:.38rem .62rem}.admin-actions .event-assign-button:hover{color:var(--ocean-dark);background:#207f832e}.large-empty{text-align:center;background:#fffdf8a3;border:1px dashed #1833323d;border-radius:32px;flex-direction:column;justify-content:center;align-items:center;min-height:440px;padding:3rem 1.5rem;display:flex}.large-empty h2{max-width:620px;margin-bottom:.8rem}.large-empty>p{max-width:620px;color:var(--muted);margin-bottom:1.5rem}.empty-island{width:78px;height:78px;color:var(--coral-dark);background:#f7dfa9;border-radius:50%;place-items:center;margin-bottom:1.5rem;font-size:2rem;display:grid}.soft-note{font-size:.95rem}.hotel-card{background:radial-gradient(circle at 100% 0,#f7dfa9a6,#0000 34%),linear-gradient(135deg,#fffdf8fa,#e7f5f0eb);border:1px solid #207f8333;border-radius:26px;gap:1.25rem;margin-bottom:2rem;padding:clamp(1.2rem,3vw,1.8rem);display:grid;position:relative;box-shadow:0 16px 40px #18333214}.hotel-card.is-editable{cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.hotel-card.is-editable:hover,.hotel-card.is-editable:focus-visible{border-color:var(--ocean);outline:none;transform:translateY(-2px);box-shadow:0 20px 44px #18333221}.hotel-card-heading{grid-template-columns:auto 1fr auto;align-items:start;gap:1rem;display:grid}.hotel-mark{background:var(--ocean);border-radius:20px;place-items:center;width:64px;height:64px;font-size:1.95rem;display:grid;box-shadow:0 10px 24px #207f8333}.hotel-card-heading .eyebrow{margin-bottom:.25rem}.hotel-card-heading h2{margin-bottom:.35rem;font-size:clamp(1.7rem,3vw,2.35rem)}.hotel-address{color:var(--ocean-dark);margin:0;font-weight:750}a.hotel-address:hover{text-decoration:underline}.hotel-edit-hint{color:var(--ocean-dark);white-space:nowrap;background:#fff;border-radius:999px;padding:.45rem .7rem;font-size:.72rem;font-weight:850}.hotel-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.hotel-facts>div{background:#ffffffb8;border:1px solid #18333217;border-radius:17px;align-content:start;gap:.2rem;min-height:94px;padding:.9rem;display:grid}.hotel-facts span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:850}.hotel-facts strong{white-space:pre-line}.hotel-facts small,.hotel-notes,.hotel-admin-note{color:var(--muted)}.hotel-notes,.hotel-admin-note{margin:0}.hotel-admin-note{font-size:.86rem;font-weight:700}.plan-timeline{gap:1.25rem;display:grid}.plan-summary-note{background:#207f8312;border:1px solid #207f8333;border-radius:18px;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;display:flex}.plan-summary-note div{gap:.1rem;display:grid}.plan-summary-note span{color:var(--ocean);letter-spacing:.1em;text-transform:uppercase;font-size:.72rem;font-weight:850}.plan-summary-note p{color:var(--muted);margin:0}.day-switcher{scroll-snap-type:x proximity;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;grid-auto-columns:minmax(150px,1fr);grid-auto-flow:column;gap:.65rem;padding:0 calc(50% - 75px) .35rem;display:grid;overflow-x:auto}.day-switcher button{border:1px solid var(--line);min-height:72px;color:var(--ink);text-align:left;cursor:pointer;scroll-snap-align:center;background:#fff;border-radius:16px;gap:.15rem;padding:.75rem 1rem;transition:transform .16s,background .16s,border-color .16s;display:grid}.day-switcher button:hover{border-color:var(--ocean);transform:translateY(-1px)}.day-switcher button.active{border-color:var(--ocean);background:var(--ocean);color:#fff;box-shadow:0 10px 24px #207f8333}.day-switcher button span{font-size:.78rem;font-weight:800}.day-switcher button strong{font-size:1rem}.day-weather-card{background:radial-gradient(circle at 92% 4%,#ffda8257,#0000 30%),linear-gradient(145deg,#edf9ff 0%,#f7fcfb 52%,#fff8e8 100%);border:1px solid #297b9733;border-radius:24px;gap:1rem;padding:1.15rem;display:grid;overflow:hidden;box-shadow:0 14px 34px #205b701a}.day-weather-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.day-weather-heading div{gap:.08rem;display:grid}.day-weather-heading p,.day-weather-heading h2{margin:0}.day-weather-heading p{color:#32718a;letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:900}.day-weather-heading h2{font-family:var(--font-display);font-size:1.4rem}.day-weather-heading>span{color:#245e78;background:#ffffffb8;border:1px solid #297b9726;border-radius:999px;padding:.45rem .7rem;font-size:.78rem;font-weight:800}.day-weather-grid{grid-template-columns:minmax(0,1.65fr) repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.weather-metric{background:#ffffffc7;border:1px solid #297b9721;border-radius:18px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.8rem;min-height:104px;padding:.9rem;display:grid}.weather-forecast-metric{background:#ffffffe0}.weather-metric-icon{background:#50aac921;border-radius:17px;place-items:center;width:52px;height:52px;font-size:1.85rem;display:grid}.weather-metric-icon.sunrise{background:#ffbe5c2e}.weather-metric-icon.sunset{background:#df7d5c26}.weather-metric>div{gap:.12rem;min-width:0;display:grid}.weather-metric>div>span{color:#32718a;letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:900}.weather-metric strong{font-size:1rem;line-height:1.25}.weather-metric p,.weather-metric small{color:var(--muted);margin:0;font-size:.76rem}.weather-metric small{color:#32718a;font-weight:800}.day-weather-message{background:#ffffffc7;border:1px solid #297b9721;border-radius:18px;align-items:center;gap:.8rem;min-height:104px;padding:1rem;display:flex}.day-weather-message>span{font-size:1.8rem}.day-weather-message div{gap:.15rem;display:grid}.day-weather-message p{color:var(--muted);margin:0}.weather-loading-mark{animation:1.5s ease-in-out infinite weather-loading-pulse}.weather-attribution{color:var(--muted);justify-content:flex-end;gap:.35rem;font-size:.65rem;display:flex}.weather-attribution a{color:#32718a}.weather-attribution a:hover{color:var(--ocean-dark)}.up-next-card{color:#fff;background:linear-gradient(135deg,#173f3d,#207f83);border-radius:22px;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding:1.2rem;display:grid;box-shadow:0 14px 34px #18333233}.up-next-card.is-complete{background:linear-gradient(135deg,#315c58,#4f8b80)}.up-next-card.is-complete .up-next-icon{background:#ffffff2e;font-weight:900}.up-next-icon{background:#ffffff24;border-radius:20px;place-items:center;width:66px;height:66px;font-size:2.1rem;display:grid}.up-next-card p,.up-next-card h2{margin:0}.up-next-card p{color:#c8f2ed;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:850}.up-next-card h2{font-family:var(--font-display);margin-top:.15rem;font-size:1.65rem}.up-next-card div>span{color:#ffffffc2}.plan-day-heading{justify-content:space-between;align-items:center;gap:1rem;padding-top:.4rem;display:flex}.plan-day-heading div{gap:.1rem;display:grid}.plan-day-heading p{font-family:var(--font-display);margin:0;font-size:1.5rem;font-weight:750}.plan-day-heading span{color:var(--muted)}.plan-day-heading>strong{background:var(--coral);color:#fff;text-transform:uppercase;border-radius:999px;padding:.4rem .75rem;font-size:.76rem}.plan-timeline-list{gap:.7rem;display:grid}.plan-event{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:120px 72px 1fr auto;align-items:start;gap:1rem;padding:1rem;transition:opacity .18s,border-color .18s,box-shadow .18s;display:grid}.plan-event.is-current{border-color:var(--coral);box-shadow:0 8px 24px #da67491f}.plan-event.is-complete{opacity:.58}.plan-event-time{gap:.2rem;display:grid}.plan-event-time span{color:var(--muted);font-size:.75rem}.plan-event-status{color:var(--ocean-dark);background:#207f831a;border-radius:999px;justify-self:start;margin-top:.3rem;padding:.28rem .5rem;font-size:.68rem;font-weight:850;line-height:1.2}.plan-event.is-current .plan-event-status{color:var(--coral);background:#da674921}.plan-event-icon{background:var(--sand);border-radius:20px;place-items:center;width:68px;height:68px;font-size:2.2rem;display:grid;box-shadow:0 8px 18px #207f831a}.plan-event-copy{gap:.2rem;display:grid}.plan-event-copy>span{color:var(--ocean);letter-spacing:.08em;text-transform:uppercase;font-size:.7rem;font-weight:850}.plan-event-copy h2,.plan-event-copy p{margin:0}.plan-event-copy h2{font-family:var(--font-display);font-size:1.35rem}.plan-event-copy p,.plan-event-copy small{color:var(--muted)}.plan-event-attendees{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.55rem;display:flex}.plan-event-attendees>span{color:var(--muted);font-size:.72rem;font-weight:800}.plan-event-attendees ul{flex-wrap:wrap;margin:0;padding:0 0 0 .45rem;list-style:none;display:flex}.plan-event-attendees li{margin-left:-.45rem;position:relative}.plan-attendee-avatar{background:var(--ocean);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;font-size:.56rem;font-weight:900;display:grid;overflow:hidden;box-shadow:0 3px 8px #1833322e}.plan-attendee-avatar.has-photo{background-position:50%;background-size:cover}.photo-page{width:min(1380px,100% - 2.5rem)}.photo-upload-card{background:linear-gradient(135deg,#207f8312,#fff);border:2px dashed #207f8361;border-radius:24px;padding:1.35rem;transition:border-color .18s,background .18s,box-shadow .18s}.photo-upload-card.is-dragging{border-style:solid;border-color:var(--ocean);background:#207f831f;box-shadow:0 14px 32px #1833321c}.upload-card-heading{align-items:center;gap:.9rem;display:flex}.upload-card-icon{background:var(--ocean);color:#fff;border-radius:18px;flex:none;place-items:center;width:60px;height:60px;font-size:1.95rem;display:grid;box-shadow:0 8px 18px #207f8338}.upload-card-heading h2,.upload-card-heading p{margin:0}.upload-card-heading h2{font-size:1.35rem}.upload-card-heading p{color:var(--muted);margin-top:.2rem}.upload-card-controls{grid-template-columns:minmax(200px,320px) auto;align-items:end;gap:.85rem;margin-top:1.15rem;display:grid}.upload-card-controls label{gap:.2rem;font-size:.9rem;font-weight:800;display:grid}.upload-card-controls label small{color:var(--muted);font-size:.75rem;font-weight:600}.upload-card-controls input{background:#fff;border:1px solid #18333233;border-radius:12px;width:100%;min-height:48px;margin-top:.25rem;padding:.65rem .85rem}.upload-card-button{min-width:160px}.upload-card-hint{color:var(--muted);margin:.8rem 0 0;font-size:.84rem}.upload-progress{background:#207f8312;border:1px solid #207f8333;border-radius:18px;margin-top:1rem;padding:1rem 1.2rem}.upload-progress>div:first-child{justify-content:space-between;gap:1rem;display:flex}.progress-track{background:#1833321a;border-radius:99px;height:8px;margin-top:.8rem;overflow:hidden}.progress-track span{border-radius:inherit;background:var(--ocean);height:100%;transition:width .25s;display:block}.gallery-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;margin:2.5rem 0 1rem;display:flex}.gallery-toolbar>div:first-child{gap:.2rem;display:grid}.gallery-toolbar p{margin:0}.gallery-toolbar strong{color:var(--ink)}.gallery-admin-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.share-photos-button{justify-content:center;align-items:center;display:inline-flex}.select-photos-button{align-items:center;gap:.45rem;display:inline-flex}.select-photos-button span{border:2px solid;border-radius:50%;place-items:center;width:1.6rem;height:1.6rem;font-size:.9rem;display:grid}.delete-selected-button{color:#fff;cursor:pointer;background:#ad352c;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;min-height:48px;padding:.75rem 1.15rem;font-weight:800;display:inline-flex;box-shadow:0 8px 20px #6f1c1733}.delete-selected-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.photo-date-groups{gap:2rem;display:grid}.photo-date-group{position:relative}.photo-date-heading{z-index:5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcf5eb;border:1px solid #1833321f;border-radius:999px;align-items:baseline;gap:.65rem;width:fit-content;margin:0 0 .75rem;padding:.5rem .8rem;display:flex;position:sticky;top:78px;box-shadow:0 6px 18px #18333214}.photo-date-heading h2{font-family:var(--font-display);margin:0;font-size:1.15rem}.photo-date-heading span{color:var(--muted);font-size:.75rem}.photo-grid{columns:4 250px;column-gap:.75rem}.photo-tile{break-inside:avoid;cursor:zoom-in;background:#e9e3d5;border:0;border-radius:16px;width:100%;margin-bottom:.75rem;padding:0;position:relative;overflow:hidden}.photo-open-button{width:100%;color:inherit;text-align:left;cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.photo-tile.is-selecting:after{border-radius:inherit;content:"";pointer-events:none;border:3px solid #0000;transition:border-color .15s,background .15s;position:absolute;inset:0}.photo-tile.is-selected:after{border-color:var(--ocean);background:#207f831f}.photo-check{z-index:2;color:#fff;cursor:pointer;background:#142827b8;border:3px solid #fff;border-radius:50%;place-items:center;width:44px;height:44px;padding:0;font-size:1.4rem;font-weight:900;display:grid;position:absolute;top:.65rem;left:.65rem;box-shadow:0 3px 14px #00000040}.photo-tile.is-selected .photo-check{background:var(--ocean)}.photo-tile img{object-fit:cover;width:100%;min-height:180px;max-height:520px;transition:transform .25s;display:block}.photo-tile:hover img{transform:scale(1.02)}.photo-credit{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142827d1;border-radius:12px;gap:.28rem;padding:.4rem .55rem;font-size:.73rem;display:grid;position:absolute;bottom:.65rem;left:.65rem;right:.65rem}.photo-credit>span{align-items:center;gap:.4rem;font-weight:750;display:flex}.photo-credit time{color:#ffffffc2;font-size:.64rem;line-height:1.3}.photo-credit b{background:var(--coral);border-radius:50%;place-items:center;width:25px;height:25px;font-size:.61rem;display:grid}.photo-comment-count{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#142827d1;border-radius:999px;align-items:center;gap:.3rem;min-height:32px;padding:.35rem .58rem;font-size:.72rem;font-weight:850;display:inline-flex;position:absolute;top:.65rem;right:.65rem}.photo-placeholder{width:150px;height:130px;margin-bottom:1.7rem;position:relative}.photo-placeholder span{color:#fff;background:#91c9c5;border:7px solid #fff;border-bottom-width:24px;border-radius:5px;place-items:center;width:105px;height:120px;font-size:2rem;display:grid;position:absolute;box-shadow:0 10px 25px #18333221}.photo-placeholder span:first-child{left:0;transform:rotate(-8deg)}.photo-placeholder span:last-child{background:#e4aa6d;bottom:0;right:0;transform:rotate(8deg)}.map-link{width:fit-content;color:var(--ocean-deep);align-items:center;margin-top:.55rem;font-size:.86rem;font-weight:800;text-decoration:none;display:inline-flex}.map-link:hover,.map-link:focus-visible{text-decoration:underline}.form-error{color:#a4382d;margin:.35rem 0 0;font-size:.9rem;font-weight:750}.form-error.banner{background:#d9684f1a;border-radius:14px;margin-top:1rem;padding:.8rem 1rem}.photo-share-status{color:var(--ocean-dark);background:#207f831a;border-radius:14px;margin:1rem 0 0;padding:.8rem 1rem;font-size:.9rem;font-weight:750}.access-shell{text-align:center;background:radial-gradient(circle at 50% 12%,#f4bd5440,#0000 20rem),linear-gradient(145deg,#f7efd9,#dceddf);place-items:center;min-height:100vh;padding:1.25rem;display:grid}.access-language-toggle{z-index:2;top:calc(1rem + env(safe-area-inset-top));background:#fffdf8e6;position:fixed;right:1rem;box-shadow:0 6px 20px #1833321a}html[lang=ko] body{word-break:keep-all}html[lang=ko] :where(input,textarea,.message-post-body,.message-reply-content p){word-break:normal}html[lang=ko] .eyebrow{letter-spacing:.08em}.access-card{width:min(100%,510px);box-shadow:var(--shadow);background:#fffdf8e8;border:1px solid #18333221;border-radius:34px;padding:clamp(2rem,7vw,4rem)}.access-card h1{margin-bottom:1rem;font-size:clamp(3rem,11vw,4.6rem)}.access-copy{color:var(--muted);margin-bottom:2rem}.access-sun{background:var(--sun);border-radius:50%;place-items:center;width:82px;height:82px;margin:0 auto 1.6rem;display:grid;box-shadow:0 0 0 12px #f4bd5429}.access-sun span{font-family:var(--serif);font-size:1.25rem}.access-form{text-align:left;gap:.7rem;display:grid}.access-form label{font-weight:800}.access-form input{background:#fff;border:1px solid #1833323d;border-radius:14px;min-height:58px;padding:.8rem 1rem;font-size:1.05rem}.access-form .primary-button{width:100%;margin-top:.6rem}.privacy-note{color:var(--muted);margin:1.5rem 0 0;font-size:.78rem}.loading-mark{justify-content:center;gap:.5rem;display:flex}.loading-mark span{background:var(--ocean);border-radius:50%;width:12px;height:12px;animation:1.1s ease-in-out infinite bob}.loading-mark span:nth-child(2){animation-delay:.12s}.loading-mark span:nth-child(3){animation-delay:.24s}@keyframes bob{50%{transform:translateY(-8px)}}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0c1f1ead;place-items:center;padding:1rem;display:grid;position:fixed;inset:0;overflow-y:auto}.editor-modal{background:var(--paper);border-radius:28px;width:min(100%,700px);max-height:calc(100vh - 2rem);padding:clamp(1.4rem,4vw,2.3rem);overflow-y:auto;box-shadow:0 30px 100px #0000004d}.modal-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-heading h2{margin-bottom:1.5rem}.close-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:1.8rem;line-height:1;display:grid}.event-form{gap:1rem;display:grid}.event-form label{color:var(--ink);gap:.35rem;font-size:.9rem;font-weight:800;display:grid}.event-form label small{color:var(--muted);font-weight:500}.event-form input,.event-form select,.event-form textarea{width:100%;min-height:50px;color:var(--ink);background:#fff;border:1px solid #18333233;border-radius:12px;padding:.7rem .8rem;font-weight:450}.event-form textarea{resize:vertical;min-height:95px}.time-field{align-content:start;gap:.35rem;display:grid}.time-input-row{grid-template-columns:minmax(0,1fr) auto auto;gap:.4rem;display:grid}.time-clear-button,.time-add-button{min-height:50px;color:var(--ink);white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #1833322e;border-radius:12px;padding:.6rem .75rem;font-size:.78rem;font-weight:850}.time-add-button{color:var(--ocean-dark);background:#207f8317;border-color:#207f8357}.time-clear-button:disabled,.time-add-button:disabled{cursor:not-allowed;opacity:.42}.field-hint{color:var(--muted);font-size:.78rem;font-weight:550;line-height:1.4}.field-map-preview{width:max-content;font-size:.82rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.modal-actions{justify-content:flex-end;gap:.7rem;margin-top:.5rem;display:flex}.assignment-editor-modal{width:min(100%,620px)}.assignment-event-name{color:var(--muted);margin:-1rem 0 1.4rem;font-weight:750}.assignment-form{gap:1rem;display:grid}.assignment-toolbar{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.assignment-toolbar>span{color:var(--ocean-dark);font-size:.82rem;font-weight:850}.assignment-toolbar>div{gap:.35rem;display:flex}.assignment-toolbar button{color:var(--ocean-dark);cursor:pointer;background:#207f831a;border:0;border-radius:999px;padding:.4rem .65rem;font-size:.72rem;font-weight:800}.assignment-toolbar button:disabled{cursor:not-allowed;opacity:.5}.assignment-checklist{border:0;gap:.45rem;max-height:min(52vh,440px);margin:0;padding:.15rem .35rem .15rem .15rem;display:grid;overflow-y:auto}.assignment-option{cursor:pointer;background:#fff;border:1px solid #1833321c;border-radius:14px;grid-template-columns:auto auto 1fr;align-items:center;gap:.7rem;padding:.65rem .75rem;display:grid}.assignment-option:has(input:checked){background:#207f8312;border-color:#207f836b}.assignment-option:focus-within{outline-offset:2px;outline:3px solid #207f8340}.assignment-option input{width:20px;height:20px;accent-color:var(--ocean);margin:0}.assignment-avatar{background:var(--ocean);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:46px;height:46px;font-size:.65rem;font-weight:900;display:grid;overflow:hidden;box-shadow:0 3px 9px #18333226}.assignment-avatar.has-photo{background-position:50%;background-size:cover}.assignment-option>span:last-child{gap:.1rem;display:grid}.assignment-option strong{color:var(--ink)}.assignment-option small{color:var(--muted);font-size:.72rem}.assignment-empty{color:var(--muted);background:#207f8312;border-radius:14px;margin:0;padding:1rem}.lightbox{z-index:90;color:#fff;overscroll-behavior:none;background:#071413f5;grid-template-rows:1fr auto;place-items:center;display:grid;position:fixed;inset:0}.lightbox.has-comments{--comments-panel-width:clamp(340px, 30vw, 420px);grid-template-columns:minmax(0, 1fr) var(--comments-panel-width)}.lightbox-stage{cursor:zoom-in;touch-action:none;grid-area:1/1;grid-template-areas:"photo";place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.lightbox-stage:has(img[style*="scale(1)"]){cursor:zoom-in}.lightbox-stage.is-panning{cursor:grabbing}.lightbox-photo-motion{pointer-events:none;backface-visibility:hidden;will-change:translate, opacity;grid-area:photo;place-items:center;width:100%;height:100%;display:grid}.lightbox-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;transform-origin:50%;max-width:100%;max-height:calc(100vh - 130px);transition:transform .18s cubic-bezier(.22,1,.36,1)}.lightbox-stage.is-panning img,.lightbox-stage.is-swiping img{transition:none}.lightbox-photo-full{z-index:2;opacity:1;position:relative}.lightbox-photo-motion:not(.lightbox-photo-outgoing).is-next{animation:.28s cubic-bezier(.22,1,.36,1) lightbox-arrive-next}.lightbox-photo-motion:not(.lightbox-photo-outgoing).is-previous{animation:.28s cubic-bezier(.22,1,.36,1) lightbox-arrive-previous}.lightbox-photo-outgoing{z-index:4;pointer-events:none}.lightbox-photo-outgoing.is-next{animation:.32s cubic-bezier(.22,1,.36,1) both lightbox-depart-next}.lightbox-photo-outgoing.is-previous{animation:.32s cubic-bezier(.22,1,.36,1) both lightbox-depart-previous}@keyframes lightbox-arrive-next{0%{translate:4vw}to{translate:0}}@keyframes lightbox-arrive-previous{0%{translate:-4vw}to{translate:0}}@keyframes lightbox-depart-next{0%{opacity:1;translate:0}to{opacity:0;translate:-4vw}}@keyframes lightbox-depart-previous{0%{opacity:1;translate:0}to{opacity:0;translate:4vw}}.lightbox-zoom-controls{z-index:3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0000007a;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem;display:flex;position:absolute;top:1rem;left:1rem}.lightbox-zoom-controls button{color:#fff;min-width:38px;height:38px;font:inherit;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;padding:0 .65rem;font-weight:800}.lightbox-zoom-controls span{color:#fff;text-align:center;min-width:48px;font-size:.78rem;font-weight:750}.lightbox-close{z-index:10;top:calc(.75rem + env(safe-area-inset-top));right:calc(.75rem + env(safe-area-inset-right));color:#fff;cursor:pointer;touch-action:manipulation;background:#00000059;border:1px solid #ffffff4d;border-radius:50%;place-items:center;width:58px;height:58px;font-size:2.35rem;display:grid;position:fixed}.lightbox.has-comments .lightbox-close{right:calc(var(--comments-panel-width) + .75rem)}.lightbox-bar{background:#0c1f1eeb;grid-area:2/1;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:105px;padding:1rem clamp(1rem,4vw,3rem);display:flex}.lightbox-bar>div{align-items:center;gap:.7rem;display:flex}.lightbox-bar>div:first-child{gap:.1rem;display:grid}.lightbox-bar span{color:#ffffffab;font-size:.85rem}.lightbox-bar time{color:#ffffffc7;font-size:.85rem}.photo-comments-toggle{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff3d;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:48px;padding:.7rem 1rem;font-weight:850;display:inline-flex}.photo-comments-panel{z-index:6;min-width:0;min-height:0;color:var(--ink);background:#fffdf8;border-left:1px solid #18333221;grid-area:1/2/3;grid-template-rows:auto minmax(0,1fr) auto;display:grid;box-shadow:-12px 0 35px #0000002e}.photo-comments-heading{border-bottom:1px solid #1833321a;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.15rem .95rem;display:flex}.photo-comments-heading p,.photo-comments-heading h2{margin:0}.photo-comments-heading h2{font-family:var(--font-display);margin-top:.12rem}.photo-comments-heading>button{width:38px;height:38px;color:var(--ink);cursor:pointer;background:#18333214;border:0;border-radius:50%;flex:none;place-items:center;font-size:1.5rem;display:grid}.photo-comments-thread{min-height:0;padding:.9rem 1rem;overflow-y:auto}.photo-comments-thread ol{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.photo-comments-thread li{grid-template-columns:auto minmax(0,1fr);gap:.65rem;display:grid}.photo-comment-avatar{background:var(--ocean);color:#fff;border-radius:50%;place-items:center;width:38px;height:38px;font-size:.6rem;font-weight:900;display:grid}.photo-comment-heading{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.photo-comment-heading strong{font-size:.86rem}.photo-comment-heading time{color:var(--muted);white-space:nowrap;font-size:.66rem}.photo-comments-thread li p{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin:.22rem 0 0;font-size:.86rem;line-height:1.48}.photo-comment-remove{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;padding:.25rem 0 0;font-size:.68rem;font-weight:800}.photo-comment-remove:disabled{cursor:wait;opacity:.6}.photo-comments-message{color:var(--muted);margin:0;font-size:.84rem}.photo-comment-form{padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom));background:#eef7fbb8;border-top:1px solid #1833321a;gap:.65rem;display:grid}.photo-comment-form label{color:var(--ink);gap:.28rem;font-size:.74rem;font-weight:850;display:grid}.photo-comment-form input,.photo-comment-form textarea{width:100%;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #1833322e;border-radius:11px;padding:.62rem .7rem;font-weight:500}.photo-comment-form-footer{justify-content:space-between;align-items:center;gap:.7rem;display:flex}.photo-comment-form-footer small{color:var(--muted)}.photo-comment-form .form-error{margin:0}.message-board-page{width:min(920px,100% - 2.5rem)}.message-board-heading{align-items:flex-end}.message-board-count{color:var(--ocean-dark);white-space:nowrap;background:#ffffffb3;border:1px solid #207f832e;border-radius:999px;flex:none;padding:.55rem .85rem;font-size:.8rem;font-weight:850}.message-composer-card{background:radial-gradient(circle at 96% 0,#f4bd5433,#0000 13rem),linear-gradient(145deg,#eef7fbfa,#fffdf8fa);border:1px solid #207f8333;border-radius:26px;gap:1rem;padding:clamp(1.2rem,3vw,1.7rem);display:grid;box-shadow:0 16px 44px #18333217}.message-composer-heading{align-items:center;gap:.85rem;display:flex}.message-composer-heading h2,.message-composer-heading p{margin:0}.message-composer-heading h2{font-size:1.55rem}.message-composer-heading p{color:var(--muted);margin-top:.18rem}.message-composer-icon{background:var(--ocean);color:#fff;border-radius:16px;flex:none;place-items:center;width:52px;height:52px;font-size:1.4rem;display:grid;box-shadow:0 8px 18px #207f8333}.message-name-field,.message-body-field{color:var(--ink);gap:.3rem;font-size:.82rem;font-weight:850;display:grid}.message-name-field{max-width:360px}.message-name-field input,.message-body-field textarea,.message-reply-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #1833322e;border-radius:13px;padding:.75rem .85rem;font-weight:500}.message-body-field textarea,.message-reply-form textarea{resize:vertical}.message-composer-footer,.message-submit-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.message-submit-row small{color:var(--muted);white-space:nowrap}.announcement-toggle{min-height:44px;color:var(--ink);cursor:pointer;border-radius:12px;align-items:center;gap:.5rem;font-size:.84rem;font-weight:800;display:inline-flex}.announcement-toggle input{width:18px;height:18px;accent-color:var(--coral)}.message-composer-card>.form-error{margin:0}.message-feed{gap:1rem;margin-top:1.25rem;display:grid}.message-post-card{border:1px solid var(--line);background:#ffffffd1;border-radius:24px;gap:1rem;padding:clamp(1.1rem,3vw,1.5rem);display:grid;overflow:hidden;box-shadow:0 12px 34px #18333212}.message-post-card.is-announcement{background:linear-gradient(90deg,#d9684f14,#0000 44%),#ffffffe6;border-color:#d9684f59}.announcement-label{width:fit-content;color:var(--coral-dark);letter-spacing:.08em;text-transform:uppercase;background:#d9684f1f;border-radius:999px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.7rem;font-weight:900;display:inline-flex}.message-post-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;display:grid}.message-post-header>div{gap:.08rem;display:grid}.message-post-header strong{font-size:.96rem}.message-post-header time,.message-reply-content time{color:var(--muted);font-size:.72rem}.message-avatar{background:var(--ocean);color:#fff;border-radius:50%;flex:none;place-items:center;width:46px;height:46px;font-size:.66rem;font-weight:900;display:grid;box-shadow:0 4px 12px #18333226}.message-remove-button,.message-reply-remove{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;padding:.25rem;font-size:.7rem;font-weight:850}.message-remove-button:disabled,.message-reply-remove:disabled{cursor:wait;opacity:.6}.message-post-body{color:var(--ink);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:1.02rem;line-height:1.62}.message-replies{border-top:1px solid #1833321a;gap:.75rem;padding-top:1rem;display:grid}.message-reply-list{gap:.75rem;display:grid}.message-reply{background:#207f830e;border-radius:16px;grid-template-columns:auto minmax(0,1fr);gap:.65rem;padding:.75rem;display:grid}.reply-avatar{width:36px;height:36px;font-size:.55rem}.message-reply-content{min-width:0}.message-reply-content header{flex-wrap:wrap;align-items:baseline;gap:.25rem .65rem;display:flex}.message-reply-content strong{font-size:.84rem}.message-reply-content p{overflow-wrap:anywhere;white-space:pre-wrap;margin:.18rem 0 0;font-size:.9rem;line-height:1.5}.message-reply-remove{margin-left:auto}.message-reply-form{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.65rem;display:grid}.message-reply-form textarea{min-height:52px;font-size:.88rem}.message-reply-form .secondary-button{min-height:48px}.message-replies>.form-error{margin:0}.message-board-empty{margin-top:1.25rem}.message-empty-icon{width:64px;height:64px;color:var(--ocean);background:#207f831a;border-radius:20px;place-items:center;margin:0 auto 1rem;font-size:1.8rem;display:grid}.danger-button{color:#ffb1a3;cursor:pointer;background:0 0;border:1px solid #ffffff3d;border-radius:999px;min-height:48px;padding:.7rem 1rem;font-weight:750}.mobile-nav{display:none}@media (width<=900px){body{font-size:16px}.topbar{grid-template-columns:1fr auto}.desktop-nav{display:none}.site-shell{padding-bottom:84px}.mobile-nav{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#122c2af0;border:1px solid #ffffff1a;border-radius:22px;grid-template-columns:repeat(4,1fr);padding:.35rem;display:grid;position:fixed;bottom:.6rem;left:.65rem;right:.65rem;box-shadow:0 18px 50px #00000040}.mobile-nav button{z-index:1;color:#ffffffa3;background:0 0;border:0;border-radius:17px;place-items:center;gap:0;min-height:58px;padding:.25rem;font-size:.7rem;font-weight:750;display:grid;position:relative}.mobile-nav button span{font-size:1.55rem;line-height:1}.mobile-nav .nav-active-indicator{background:var(--paper);border-radius:17px;width:calc(25% - .175rem);top:.35rem;bottom:.35rem;left:.35rem;box-shadow:0 8px 22px #0000002e}.mobile-nav button.active{color:var(--ink);background:0 0}.hero{grid-template-columns:1fr;gap:2.5rem;min-height:auto;padding-bottom:7rem}.hero-landscape{grid-row:1;justify-self:center;width:min(82vw,480px);height:min(82vw,480px)}.hero-copy{grid-row:2}.home-grid{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:flex-start}.day-group{grid-template-columns:1fr;gap:1rem}.day-heading{position:static}.ease-strip>div{flex-direction:column;align-items:flex-start;width:max-content;margin-inline:auto}}@media (width<=640px){.topbar{min-height:66px;padding:.65rem 1rem}.wordmark-seal{width:39px;height:39px}.wordmark strong{font-size:.9rem}.account-actions .quiet-button{min-height:44px;padding-inline:.75rem;font-size:.76rem}.topbar-language-toggle{padding-inline:.55rem}.language-label-full{display:none}.language-label-short{display:inline}.organizer-badge{min-height:30px;padding:.3rem .55rem;font-size:.62rem}.hero{padding:2rem 1.15rem 5rem}.hero-landscape{width:min(92vw,380px);height:min(92vw,380px)}.hero h1{font-size:clamp(3.1rem,14vw,4.4rem)}.hero-actions{display:grid}.hero-actions .primary-button,.hero-actions .secondary-button{width:100%}.home-grid{margin-top:-2.5rem;padding:0 .8rem}.feature-card{border-radius:24px;min-height:280px;padding:1.5rem}.photo-preview{grid-template-columns:1fr}.mini-photo-stack{justify-self:center;width:170px;height:175px}.mini-photo-stack img,.mini-photo-stack span{width:105px;height:135px}.ease-strip{margin:3rem auto 1rem}.page-content,.photo-page{width:min(100% - 1.5rem,1180px);padding-top:2.3rem}.page-heading{gap:1.2rem;margin-bottom:2rem}.page-heading h1{font-size:clamp(3rem,15vw,4.2rem)}.heading-actions,.heading-actions>*,.page-heading>.primary-button{width:100%}.event-card{grid-template-columns:1fr auto;gap:.6rem .8rem;padding:1.1rem}.event-time{color:var(--coral-dark);grid-column:1}.category-mark{grid-area:1/2}.event-details{grid-column:1/-1}.admin-actions{grid-column:1/-1;justify-content:flex-end}.upload-card-controls{grid-template-columns:1fr}.upload-card-button{width:100%}.hotel-card-heading{grid-template-columns:auto 1fr}.hotel-edit-hint{grid-column:2;width:max-content}.hotel-facts{grid-template-columns:1fr}.plan-summary-note{flex-direction:column;align-items:flex-start}.day-switcher{grid-auto-columns:minmax(128px,1fr);gap:.35rem}.day-switcher button{min-height:68px;padding:.65rem}.day-switcher button strong{font-size:.82rem}.day-weather-card{padding:.9rem}.day-weather-heading{flex-direction:column;align-items:flex-start;gap:.55rem}.day-weather-heading>span{max-width:100%}.day-weather-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weather-forecast-metric{grid-column:1/-1}.weather-metric{grid-template-columns:1fr;align-items:start;min-height:0}.weather-forecast-metric{grid-template-columns:auto minmax(0,1fr)}.weather-attribution{flex-wrap:wrap;justify-content:flex-start}.plan-event{grid-template-columns:1fr auto;gap:.6rem}.plan-event-time{grid-column:1}.plan-event-icon{grid-area:1/2}.plan-event-copy{grid-column:1/-1}.photo-date-heading{top:70px}.photo-grid{columns:2 145px;column-gap:.45rem}.gallery-toolbar{flex-direction:column;align-items:stretch}.gallery-admin-actions{flex-direction:column;width:100%}.gallery-admin-actions>button,.gallery-admin-actions>a{justify-content:center;width:100%}.photo-tile{border-radius:11px;margin-bottom:.45rem}.photo-tile img{min-height:130px}.photo-credit{max-width:calc(100% - .8rem);font-size:0;bottom:.4rem;right:.4rem;overflow:hidden}.photo-credit b{font-size:.58rem}.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.modal-actions>*{width:100%}.lightbox{grid-template-rows:minmax(0,1fr) auto}.lightbox.has-comments{grid-template-rows:minmax(0,1fr) auto minmax(220px,38vh);grid-template-columns:1fr}.lightbox.has-comments .lightbox-close{right:calc(.75rem + env(safe-area-inset-right))}.photo-comments-panel{border-top:1px solid #18333221;border-left:0;grid-area:3/1;box-shadow:0 -12px 28px #0003}.photo-comments-heading{padding-block:.75rem .65rem}.photo-comments-heading h2{font-size:1.3rem}.photo-comments-heading>button{width:34px;height:34px}.photo-comments-thread{padding-block:.7rem}.photo-comment-form{padding-block:.7rem calc(.7rem + env(safe-area-inset-bottom))}.lightbox>img{max-height:calc(100vh - 180px)}.lightbox-zoom-controls{display:none}.lightbox-bar{flex-direction:column;align-items:stretch}.lightbox-bar>div:last-child{grid-template-columns:1fr auto;display:grid}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.content-sync{min-height:38px;color:var(--ocean-dark);background:#e7f5f0e0;border-bottom:1px solid #207f8324;justify-content:center;align-items:center;gap:.65rem;padding:.45rem 1rem;font-size:.78rem;font-weight:750;display:flex}.content-sync span+span:before{color:#145f6373;content:"•";margin-right:.65rem}.content-sync b{background:var(--ocean);color:#fff;border-radius:50%;place-items:center;width:20px;height:20px;margin-right:.25rem;font-size:.68rem;display:inline-grid}.status-page{text-align:center;place-items:center;min-height:calc(100vh - 114px);padding:3rem 1.25rem;display:grid}.status-page>p{color:var(--muted)}.status-card{background:var(--paper);width:min(100%,620px);box-shadow:var(--shadow);border:1px solid #d9684f38;border-radius:26px;padding:clamp(1.5rem,5vw,2.75rem)}.status-card h1{font-size:clamp(2.1rem,6vw,3.7rem)}.status-card>p:not(.eyebrow){color:var(--muted)}.status-card small{color:var(--coral-dark);margin:0 auto 1.25rem;display:block}.status-icon{width:56px;height:56px;color:var(--coral-dark);background:#d9684f1f;border-radius:50%;place-items:center;margin:0 auto 1rem;font-size:1.5rem;font-weight:900;display:grid}.hero-essentials-link{display:inline-flex}.essentials-card{background:radial-gradient(circle at 100% 0,#f7dfa9a6,#0000 30%),linear-gradient(135deg,#fffdf8fc,#e7f5f0f0);border:1px solid #207f8333;border-radius:28px;gap:1.15rem;width:min(100% - 2.5rem,1180px);margin:clamp(2rem,5vw,4.5rem) auto;padding:clamp(1.25rem,4vw,2rem);scroll-margin-top:110px;display:grid;position:relative;box-shadow:0 18px 48px #1833321a}.essentials-card.is-editable{cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.essentials-card.is-editable:hover,.essentials-card.is-editable:focus-visible{border-color:var(--ocean);outline:none;transform:translateY(-2px);box-shadow:0 22px 52px #18333226}.essentials-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.essentials-heading h2{margin-bottom:.3rem;font-size:clamp(2rem,4vw,3rem)}.essentials-heading p:last-child{color:var(--muted);margin:0}.essentials-hotel{border-top:1px solid #1833321a;grid-template-columns:auto 1fr;align-items:center;gap:1rem;padding-top:1.1rem;display:grid}.essentials-hotel>div>span,.essentials-grid span{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;font-size:.7rem;font-weight:850}.essentials-hotel h3{font-family:var(--serif);margin:.15rem 0 .3rem;font-size:clamp(1.35rem,3vw,1.9rem)}.essentials-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.essentials-grid>div{background:#ffffffb8;border:1px solid #18333217;border-radius:17px;align-content:start;gap:.3rem;min-height:92px;padding:.9rem;display:grid}.essentials-grid strong,.essentials-grid a{color:var(--ink);white-space:pre-line;font-weight:750}.essentials-grid a{color:var(--ocean-dark);text-decoration:underline}.essentials-notes{color:var(--muted);white-space:pre-line;background:#f7dfa947;border-radius:16px;gap:.25rem;margin:0;padding:.9rem 1rem;display:grid}.essentials-notes b{color:var(--ink)}.plan-action-error{margin-bottom:1rem}.undo-toast{z-index:90;background:var(--ink);color:#fff;border:1px solid #ffffff38;border-radius:18px;align-items:center;gap:1rem;max-width:min(430px,100vw - 2rem);padding:.9rem 1rem;display:flex;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 18px 48px #1833324d}.undo-toast span{flex:1}.undo-toast button{background:var(--sun);color:var(--ink);cursor:pointer;border:0;border-radius:999px;padding:.55rem .85rem;font-weight:850}.undo-toast button:disabled{cursor:wait;opacity:.7}@media (width<=760px){.content-sync{flex-direction:column;align-items:flex-start;gap:.05rem;padding-inline:1.15rem}.content-sync span+span:before{display:none}.essentials-grid{grid-template-columns:1fr 1fr}}@media (width<=640px){.essentials-card{border-radius:22px;width:calc(100% - 2rem);margin-block:1.5rem 2rem}.essentials-heading{flex-direction:column}.essentials-grid{grid-template-columns:1fr}.undo-toast{max-width:none;bottom:94px;left:1rem;right:1rem}}.day-navigation{grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.55rem;display:grid}.day-navigation .day-switcher{scroll-behavior:smooth;scrollbar-width:thin;min-width:0}.day-switcher button small{color:currentColor;opacity:.7;font-size:.68rem;font-weight:700}.day-step-button,.today-jump-button{border:1px solid var(--line);background:var(--paper);min-height:48px;color:var(--ocean-dark);cursor:pointer;font-weight:850;transition:border-color .16s,background .16s,transform .16s}.day-step-button{border-radius:50%;place-items:center;width:48px;padding:0;font-size:1.75rem;line-height:1;display:grid}.today-jump-button{border-radius:999px;padding:.7rem 1rem}.day-step-button:hover:not(:disabled),.today-jump-button:hover:not(:disabled){border-color:var(--ocean);background:#207f8314;transform:translateY(-1px)}.day-step-button:disabled,.today-jump-button:disabled{cursor:default;opacity:.38}.up-next-card.is-open-day{color:var(--ink);background:linear-gradient(135deg,#fffdf8fa,#e7f5f0e6)}.up-next-card.is-open-day p,.up-next-card.is-open-day span{color:var(--muted)}.up-next-card.is-open-day .up-next-icon{color:var(--ocean-dark);background:#207f831f}@media (width<=640px){.day-navigation{gap:.35rem}.day-step-button{width:44px;min-height:44px}.today-jump-button{min-height:44px;padding-inline:.7rem;font-size:.78rem}.day-switcher{grid-auto-columns:minmax(116px,1fr);padding-inline:calc(50% - 58px)}}.custom-essentials-editor{border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:.9rem;padding-block:1.1rem;display:grid}.custom-essentials-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.custom-essentials-heading h3{font-family:var(--serif);margin:0 0 .2rem;font-size:1.35rem}.custom-essentials-heading p,.custom-essentials-empty{color:var(--muted);margin:0;font-size:.88rem}.custom-essentials-heading .secondary-button{flex:none;min-height:42px;padding:.55rem .8rem}.custom-essentials-list{gap:.75rem;display:grid}.custom-essential-row{background:#e7f5f07a;border:1px solid #207f8329;border-radius:16px;grid-template-columns:minmax(150px,.7fr) minmax(220px,1.3fr) auto;align-items:end;gap:.65rem;padding:.8rem;display:grid}.custom-essential-row textarea{min-height:48px}.remove-essential-button{min-height:44px;color:var(--coral-dark);cursor:pointer;background:#fff;border:1px solid #d9684f47;border-radius:999px;padding:.55rem .75rem;font-size:.78rem;font-weight:800}.remove-essential-button:hover{border-color:var(--coral);background:#d9684f12}@media (width<=760px){.custom-essentials-heading{flex-direction:column}.custom-essential-row{grid-template-columns:1fr;align-items:stretch}.remove-essential-button{justify-self:start}}.form-notice{color:var(--ocean-dark);background:#207f8314;border:1px solid #207f8338;border-radius:12px;margin:0;padding:.7rem .8rem;font-size:.86rem;font-weight:700}.organizer-security-card{background:#fffdf8eb;border:1px solid #d9684f33;border-radius:22px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;width:min(100% - 2.5rem,1180px);margin:-2rem auto clamp(2rem,5vw,4.5rem);padding:1rem 1.15rem;display:grid;box-shadow:0 12px 32px #18333212}.security-card-icon{width:46px;height:46px;color:var(--coral-dark);background:#d9684f1c;border-radius:15px;place-items:center;font-size:1.4rem;font-weight:900;display:grid}.organizer-security-card .eyebrow{margin-bottom:.1rem}.organizer-security-card h2{margin:0 0 .15rem;font-size:1.35rem}.organizer-security-card p:last-child{color:var(--muted);margin:0;font-size:.88rem}.revoke-sessions-button{min-height:44px;color:var(--coral-dark);cursor:pointer;background:#fff;border:1px solid #d9684f52;border-radius:999px;padding:.65rem .9rem;font-size:.82rem;font-weight:850}.revoke-sessions-button:hover:not(:disabled){border-color:var(--coral);background:#d9684f12}.revoke-sessions-button:disabled{cursor:wait;opacity:.65}@media (width<=760px){.organizer-security-card{grid-template-columns:auto 1fr;width:calc(100% - 2rem);margin-top:-.5rem}.revoke-sessions-button{grid-column:1/-1;width:100%}}.view-transition{--view-start-x:0px;animation:.42s cubic-bezier(.22,1,.36,1) both view-arrive}.view-transition.view-forward{--view-start-x:22px}.view-transition.view-backward{--view-start-x:-22px}@keyframes view-arrive{0%{opacity:0;transform:translate3d(var(--view-start-x), 8px, 0) scale(.992)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes motion-rise{0%{opacity:0;translate:0 16px;scale:.985}to{opacity:1;translate:0;scale:1}}@keyframes motion-pop{0%{opacity:0;scale:.9}to{opacity:1;scale:1}}@keyframes day-arrive-forward{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes day-arrive-backward{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}@keyframes event-arrive{0%{translate:0 14px;scale:.985}to{translate:0;scale:1}}@keyframes event-arrive-forward{0%{translate:20px;scale:.99}to{translate:0;scale:1}}@keyframes event-arrive-backward{0%{translate:-20px;scale:.99}to{translate:0;scale:1}}@keyframes current-status-pulse{0%,to{transform:scale(1);box-shadow:0 0 #da67492e}50%{transform:scale(1.035);box-shadow:0 0 0 7px #da674900}}@keyframes current-icon-float{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-4px)rotate(1deg)}}@keyframes hero-sun-glow{0%,to{box-shadow:0 0 34px #fff4cdb3}50%{box-shadow:0 0 58px #fff4cdf2}}@keyframes weather-loading-pulse{0%,to{opacity:.58;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.view-home .hero-copy h1,.view-home .hero-copy p,.view-home .essentials-card,.view-home .organizer-security-card,.view-plan .page-heading>*,.view-plan .plan-summary-note,.view-plan .day-navigation,.view-plan .day-weather-card,.view-plan .up-next-card,.view-plan .plan-day-heading,.view-board .page-heading>*,.view-board .message-composer-card,.view-photos .page-heading>*,.view-photos .photo-upload-card,.view-photos .gallery-toolbar{animation:.52s cubic-bezier(.22,1,.36,1) both motion-rise}.view-home .hero-copy h1{animation-delay:60ms}.view-home .hero-copy p{animation-delay:.12s}.view-home .hero-landscape{animation:.62s cubic-bezier(.22,1,.36,1) 90ms both motion-pop}.view-home .essentials-card{animation-delay:.18s}.view-home .organizer-security-card{animation-delay:.24s}.view-plan .page-heading>:first-child,.view-board .page-heading>:first-child,.view-photos .page-heading>:first-child{animation-delay:50ms}.view-board .page-heading>:last-child{animation-delay:90ms}.view-board .message-composer-card{animation-delay:.12s}.view-plan .page-heading>:last-child{animation-delay:.1s}.view-plan .plan-summary-note{animation-delay:.13s}.view-plan .day-navigation{animation-delay:.18s}.view-plan .day-weather-card{animation-delay:.22s}.view-plan .up-next-card{animation-delay:.26s}.view-plan .plan-day-heading{animation-delay:.3s}.view-photos .photo-upload-card{animation-delay:.11s}.view-photos .gallery-toolbar{animation-delay:.16s}.view-plan .plan-event{animation:.44s cubic-bezier(.22,1,.36,1) both event-arrive;animation-delay:var(--event-delay)}.view-photos .photo-tile{animation:.42s cubic-bezier(.22,1,.36,1) both motion-pop;animation-delay:var(--photo-delay)}.view-board .message-post-card{animation:.48s cubic-bezier(.22,1,.36,1) both motion-rise;animation-delay:var(--message-delay)}.plan-timeline.day-forward .up-next-card,.plan-timeline.day-forward .day-weather-card,.plan-timeline.day-forward .plan-day-heading{animation-name:day-arrive-forward}.plan-timeline.day-backward .up-next-card,.plan-timeline.day-backward .day-weather-card,.plan-timeline.day-backward .plan-day-heading{animation-name:day-arrive-backward}.plan-timeline.day-forward .plan-event{animation-name:event-arrive-forward}.plan-timeline.day-backward .plan-event{animation-name:event-arrive-backward}.plan-timeline.day-forward .up-next-card,.plan-timeline.day-backward .up-next-card,.plan-timeline.day-forward .day-weather-card,.plan-timeline.day-backward .day-weather-card,.plan-timeline.day-forward .plan-day-heading,.plan-timeline.day-backward .plan-day-heading{animation-duration:.38s;animation-timing-function:cubic-bezier(.22,1,.36,1);animation-fill-mode:both}.plan-event.is-current .plan-event-status{animation:2.2s ease-in-out infinite current-status-pulse}.plan-event.is-current .plan-event-icon{animation:2.6s ease-in-out infinite current-icon-float}.topbar,.wordmark-seal,.wordmark>span:last-child,.account-actions .quiet-button{transition:min-height .22s,padding .22s,width .22s,height .22s,opacity .18s,transform .18s,box-shadow .18s}:where(.plan-event-icon,.up-next-icon,.hotel-mark,.upload-card-icon,.security-card-icon,.status-icon){isolation:isolate;border:1px solid #ffffff6b;font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;line-height:1;overflow:hidden;box-shadow:0 9px 22px #1833321f}.plan-event-icon{background:linear-gradient(145deg,#fff8e8,#f3e3bd)}.mobile-nav button span{background:#ffffff14;border:1px solid #ffffff1f;border-radius:11px;place-items:center;width:34px;height:34px;transition:transform .16s,background .16s,box-shadow .16s;display:grid}.mobile-nav button.active span{background:#207f8321;box-shadow:0 5px 14px #207f8326}button,a,.photo-tile,.plan-event,.day-switcher button{-webkit-tap-highlight-color:transparent}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.quiet-button:active:not(:disabled),.text-button:active:not(:disabled),.mobile-nav button:active:not(:disabled),.desktop-nav button:active:not(:disabled),.day-step-button:active:not(:disabled),.today-jump-button:active:not(:disabled),.lightbox-close:active:not(:disabled),.lightbox-zoom-controls button:active:not(:disabled){transform:scale(.96)}.photo-tile,.essentials-card,.hotel-card,.photo-upload-card{transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s,border-color .18s,opacity .18s}.photo-tile:hover{transform:translateY(-2px);box-shadow:0 12px 30px #1833321f}.photo-tile:active{transform:scale(.985)}.photo-tile.is-selected .photo-check{animation:.26s cubic-bezier(.22,1.45,.36,1) selection-pop}.content-sync,.upload-progress,.undo-toast{animation:.3s cubic-bezier(.22,1,.36,1) both message-arrive}@keyframes selection-pop{50%{transform:scale(1.18)}}@keyframes message-arrive{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translate(0)scale(1)}}.loading-skeleton{width:min(1180px,100% - 2.5rem);margin:0 auto;padding:clamp(2.5rem,7vw,5.5rem) 0 4rem}.skeleton-heading{gap:.8rem;max-width:680px;margin-bottom:2rem;display:grid}.skeleton-line,.skeleton-icon{background:#e8e2d4;border-radius:999px;display:block;position:relative;overflow:hidden}.skeleton-line:after,.skeleton-icon:after,.skeleton-card:after{content:"";background:linear-gradient(105deg,#0000 20%,#ffffffb8 46%,#0000 72%);animation:1.35s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}.skeleton-eyebrow{width:150px;height:13px}.skeleton-title{border-radius:15px;width:min(480px,78vw);height:48px}.skeleton-copy{width:min(610px,86vw);height:18px}.skeleton-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.skeleton-card{border:1px solid var(--line);background:#ffffffb8;border-radius:22px;grid-template-columns:auto 1fr;align-items:start;gap:1rem;min-height:180px;padding:1.25rem;display:grid;position:relative;overflow:hidden}.skeleton-icon{border-radius:18px;width:58px;height:58px}.skeleton-card>div{gap:.75rem;padding-top:.25rem;display:grid}.skeleton-card-title{width:75%;height:22px}.skeleton-card-copy{width:100%;height:14px}.skeleton-card-copy.short{width:62%}@keyframes skeleton-shimmer{to{transform:translate(100%)}}.lightbox.is-opening{animation:.26s ease-out both lightbox-backdrop-arrive}.lightbox.is-opening .lightbox-photo-full{animation:.34s cubic-bezier(.22,1,.36,1) both lightbox-open-from-thumb}@keyframes lightbox-backdrop-arrive{0%{background:#07141300}to{background:#071413f5}}@keyframes lightbox-open-from-thumb{0%{translate:var(--photo-origin-x) var(--photo-origin-y);scale:var(--photo-origin-scale);border-radius:16px}to{border-radius:0;translate:0;scale:1}}.lightbox-stage{position:relative}.swipe-hint{z-index:8;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom));color:#fff;letter-spacing:.02em;pointer-events:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#04100fb8;border:1px solid #ffffff38;border-radius:999px;align-items:center;gap:.55rem;padding:.65rem .9rem;font-size:.78rem;font-weight:800;animation:.28s cubic-bezier(.22,1,.36,1) both swipe-hint-arrive;display:inline-flex;position:absolute;translate:-50%;box-shadow:0 12px 32px #0000004d}.swipe-hint span{font-size:1.35rem;line-height:1}@keyframes swipe-hint-arrive{0%{opacity:0;transform:translateY(12px)scale(.94)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=760px){.skeleton-card-grid{grid-template-columns:1fr}.skeleton-card{min-height:132px}}@media (width<=640px){.topbar.is-compact{min-height:54px;padding:.35rem .8rem;box-shadow:0 8px 24px #1833321a}.topbar.is-compact .wordmark-seal{width:34px;height:34px;font-size:.82rem}.topbar.is-compact .wordmark>span:last-child{opacity:0;width:0;overflow:hidden}.topbar.is-compact .account-actions .quiet-button{min-height:44px;padding-inline:.65rem}.topbar.is-compact .organizer-badge{min-height:27px;padding:.25rem .45rem;font-size:.56rem}.loading-skeleton{width:calc(100% - 1.6rem);padding-top:2rem}.skeleton-title{height:40px}}.lightbox-swipe-label{display:none}@media (width<=760px){.lightbox-swipe-label{background:#ffffff14;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:.4rem;width:max-content;padding:.35rem .65rem;font-weight:800;display:inline-flex;color:#ffffffd1!important;font-size:.72rem!important}.lightbox-swipe-label b{color:#fff;font-size:1rem;line-height:1}.swipe-hint{bottom:calc(1.25rem + env(safe-area-inset-bottom));background:#04100fdb;padding:.78rem 1.05rem;font-size:.88rem}}.map-link:after{content:"↗";margin-left:.18rem;transition:transform .18s cubic-bezier(.22,1,.36,1)}.map-link:hover:after,.map-link:focus-visible:after{transform:translate(3px,-3px)}.up-next-card:hover .up-next-icon,.essentials-card:hover .hotel-mark,.photo-upload-card:hover .upload-card-icon{transform:translateY(-3px)rotate(-2deg)scale(1.04)}.plan-event-icon,.up-next-icon,.hotel-mark,.upload-card-icon{transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .2s}.photo-open-button img{transition:transform .42s cubic-bezier(.22,1,.36,1),filter .22s}.photo-tile:hover .photo-open-button img{filter:saturate(1.04);transform:scale(1.035)}:where(.primary-button,.secondary-button,.quiet-button,.today-jump-button):hover:not(:disabled){filter:saturate(1.04);transform:translateY(-2px)}.desktop-nav button:hover:not(.active),.mobile-nav button:hover:not(.active){transform:translateY(-1px)}.lodging-stays{gap:1rem;display:grid}.lodging-stay{background:#ffffff94;border:1px solid #1833321a;border-radius:21px;gap:1rem;padding:1rem;display:grid}.lodging-stay .essentials-hotel{border-top:0;padding-top:0}.lodging-stay .hotel-facts{margin-top:0}.lodging-leg-details{grid-template-columns:1fr}.lodging-stays-editor{gap:1rem;display:grid}.lodging-stay-editor{background:#e7f5f066;border:1px solid #207f8333;border-radius:18px;gap:.9rem;padding:1rem;display:grid}.lodging-stay-editor-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.lodging-stay-editor-heading h3{font-family:var(--serif);margin:0}.lodging-date-pair{gap:.65rem;display:grid}.attendees-card{background:linear-gradient(145deg,#eef7fbfa,#fffdf8fa);border:1px solid #245e782e;border-radius:28px;gap:1.2rem;width:min(100% - 2.5rem,1180px);margin:0 auto clamp(2rem,5vw,4.5rem);padding:clamp(1.25rem,4vw,2rem);display:grid;box-shadow:0 18px 48px #18333217}.attendees-heading{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.attendees-heading h2{margin:.15rem 0 .3rem;font-size:clamp(1.8rem,4vw,2.7rem)}.attendees-heading p:last-child{color:var(--muted);margin:0}.attendee-count{color:var(--ocean-dark);white-space:nowrap;background:#fff;border-radius:999px;padding:.5rem .75rem;font-weight:850}.attendee-add-form{grid-template-columns:1fr 1fr auto;align-items:end;gap:.75rem;display:grid}.attendee-add-form label{gap:.3rem;font-size:.82rem;font-weight:800;display:grid}.attendee-add-form label small{color:var(--muted);font-weight:500}.attendee-add-form input{min-height:46px;color:var(--ink);background:#fff;border:1px solid #1833322e;border-radius:12px;padding:.65rem .75rem}.attendee-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.attendee-card{background:#ffffffc2;border:1px solid #1833321a;border-radius:18px;align-content:start;gap:.75rem;padding:.9rem;display:grid}.attendee-card-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;display:grid}.attendee-card-heading h3,.attendee-card-heading p{margin:0}.attendee-card-heading p{color:var(--muted);font-size:.78rem}.attendee-avatar{background:var(--ocean);color:#fff;border:3px solid #fff;border-radius:50%;place-items:center;width:58px;height:58px;font-size:.75rem;font-weight:900;display:grid;overflow:hidden;box-shadow:0 4px 12px #18333229}.attendee-avatar.has-photo{background-position:50%;background-size:cover}.attendee-remove{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;font-size:.72rem;font-weight:800}.attendee-photo-controls{align-items:center;gap:.65rem;padding-left:68px;display:flex}.attendee-photo-button,.attendee-photo-remove{color:var(--ocean-dark);cursor:pointer;background:0 0;border:0;font-size:.74rem;font-weight:850}.attendee-photo-button{background:#207f831a;border-radius:999px;align-items:center;padding:.45rem .7rem;display:inline-flex}.attendee-photo-button input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.attendee-photo-button:focus-within{outline-offset:2px;outline:3px solid #207f834d}.attendee-photo-remove{color:var(--coral-dark)}.attendee-photo-remove:disabled{cursor:wait;opacity:.6}.attendee-photo-button:has(input:disabled){cursor:wait;opacity:.6}.attendees-empty{color:var(--muted);margin:0}.flight-itinerary-card{background:linear-gradient(135deg,#eef7fb,#e2f1f7);border-color:#8fb8ca}.flight-itinerary-card .plan-event-copy>span,.flight-itinerary-card .map-link{color:#245e78}.hero-palm,.hero-lei{z-index:3;pointer-events:none;position:absolute}.hero-palm{transform-origin:bottom;background:#805d38;border-radius:99px;width:9px;height:110px;bottom:23%;right:18%;transform:rotate(7deg)}.hero-palm i{transform-origin:0;background:#2f7d5e;border-radius:100% 8%;width:58px;height:18px;position:absolute;top:-7px;left:50%}.hero-palm i:first-child{transform:rotate(-155deg)}.hero-palm i:nth-child(2){transform:rotate(-112deg)}.hero-palm i:nth-child(3){transform:rotate(-65deg)}.hero-palm i:nth-child(4){transform:rotate(-20deg)}.hero-palm i:nth-child(5){transform:rotate(22deg)}.hero-lei{gap:3px;display:flex;bottom:40%;left:31%;right:auto;transform:rotate(-5deg)}.hero-lei i{background:#e46f78;border-radius:50% 50% 45%;width:13px;height:13px;box-shadow:0 0 0 2px #ffffff52}.hero-lei i:nth-child(2n){background:#f7d66c;transform:translateY(7px)}@media (width<=760px){.attendee-grid,.attendee-add-form{grid-template-columns:1fr}.hero-palm{transform-origin:bottom;right:18%;transform:scale(.82)rotate(7deg)}.hero-lei{transform-origin:0;display:flex;bottom:40%;left:29%;transform:scale(.86)rotate(-5deg)}}@media (width<=640px){.attendees-card{border-radius:22px;width:calc(100% - 2rem)}.attendees-heading{flex-direction:column}.attendee-card-heading{grid-template-columns:auto 1fr}.attendee-remove{grid-column:2;justify-self:start}.attendee-photo-controls{padding-left:0}.lodging-stay-editor-heading,.assignment-toolbar{flex-direction:column;align-items:flex-start}.assignment-toolbar>div{width:100%}.assignment-toolbar button{flex:1}.message-board-page{width:min(100% - 1.5rem,920px)}.message-board-heading,.message-composer-heading{align-items:flex-start}.message-composer-heading p{font-size:.86rem}.message-composer-footer{flex-direction:column;align-items:stretch}.message-submit-row{width:100%}.message-post-header{align-items:start}.message-post-header time{line-height:1.35}.message-reply-form{grid-template-columns:1fr}.message-reply-form .secondary-button{justify-self:end;min-width:92px}.mobile-nav button{font-size:.64rem}.mobile-nav button span{font-size:1.4rem}}@media (width<=900px){.admin-actions button{min-width:44px;min-height:44px;padding:.55rem}.admin-actions .event-assign-button{min-height:44px;padding-inline:.75rem}.map-link{min-height:44px;padding-block:.5rem}.weather-attribution a{align-items:center;min-height:44px;display:inline-flex}.message-remove-button,.message-reply-remove,.photo-comment-remove,.attendee-remove,.attendee-photo-button,.attendee-photo-remove{min-height:44px;padding:.55rem}}@media (width<=480px){.organizer-badge,.topbar.is-compact .organizer-badge{letter-spacing:0;justify-content:center;gap:0;width:34px;min-height:34px;padding:0;font-size:0}.organizer-badge span,.topbar.is-compact .organizer-badge span{font-size:.85rem}}@media (width<=390px){.topbar,.topbar.is-compact{gap:.65rem;padding-inline:.75rem}.account-actions{gap:.4rem}.topbar:not(.is-compact) .wordmark>span:last-child{display:none}.account-actions .quiet-button,.topbar.is-compact .account-actions .quiet-button{padding-inline:.6rem}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
