.familyShell{color:#173c3a;min-height:100vh;font-family:var(--font-body,Georgia,serif);background:#f6efdf;padding:clamp(1rem,4vw,3rem)}.familyCard{background:#fffaf0;border:1px solid #d8c9ad;border-radius:18px;max-width:780px;margin:0 auto 1rem;padding:clamp(1.2rem,4vw,2.4rem);box-shadow:0 14px 50px #173c3a12}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#8b5b3f;font:600 .75rem/1.2 system-ui}.familyCard h1{margin:.35rem 0 1rem;font-size:clamp(2rem,8vw,4rem);line-height:1}.familyCard h2{margin:0 0 1rem;font-size:1.5rem}.lede{max-width:60ch;font-size:1.08rem;line-height:1.6}.noteLabel{margin:1.5rem 0 .75rem;font:600 .9rem/1.4 system-ui;display:block}.noteLabel textarea{color:#173c3a;resize:vertical;background:#fff;border:1px solid #bba98d;border-radius:10px;width:100%;min-height:110px;margin-top:.5rem;padding:.85rem;font:1rem/1.5 system-ui;display:block}.familyActions{flex-wrap:wrap;gap:.7rem;display:flex}.familyActions button{color:#173c3a;background:0 0;border:1px solid #173c3a;border-radius:999px;min-height:46px;padding:.7rem 1rem;font:700 .9rem system-ui}.familyActions .primary{color:#fff;background:#173c3a}.familyActions button:disabled{opacity:.45}.limit{color:#765f4e;font:.8rem/1.5 system-ui}.uploadQueue{gap:.65rem;margin-top:1rem;display:grid}.uploadRow{border-top:1px solid #e5d8c3;grid-template-columns:1fr minmax(100px,35%);align-items:center;gap:1rem;padding-top:.65rem;display:grid}.uploadRow div{min-width:0}.uploadRow strong,.uploadRow span{overflow-wrap:anywhere;display:block}.uploadRow span{color:#765f4e;font:.78rem/1.4 system-ui}.uploadRow progress{width:100%}.uploadRowActions{gap:.7rem;margin-top:.35rem;display:flex}.uploadRowActions button{color:#8b5b3f;cursor:pointer;background:0 0;border:0;padding:0;font:700 .78rem system-ui;text-decoration:underline}.uploadRowActions button:disabled{opacity:.45}.receipt{background:#e6f0e8;border-radius:9px;padding:.8rem;font:600 .9rem/1.4 system-ui}.receiptList{gap:.8rem;margin:0;padding:0;list-style:none;display:grid}.receiptList li{border-top:1px solid #e5d8c3;justify-content:space-between;gap:1rem;padding-top:.8rem;display:flex}.receiptList strong,.receiptList span{overflow-wrap:anywhere;display:block}.receiptList span{color:#765f4e;font:.76rem/1.4 system-ui}.receiptList p{margin:.35rem 0 0}.receiptActions{flex-wrap:wrap;align-items:flex-start;gap:.7rem;display:flex}.receiptActions a,.receiptActions button{color:#173c3a;font:700 .8rem system-ui}.receiptActions button{cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.feedbackCard h2{margin:.35rem 0 1rem;font-size:clamp(1.8rem,6vw,3rem)}.signedInAs{background:#e8efe8;border-radius:999px;margin:.25rem 0 1rem;padding:.45rem .7rem;font:600 .78rem/1.3 system-ui;display:inline-block}.feedbackInbox{gap:.85rem;margin:1rem 0;padding:0;list-style:none;display:grid}.feedbackInbox li{background:#fff;border:1px solid #d8c9ad;border-radius:12px;padding:1rem}.feedbackInbox li.handled{opacity:.72;background:#f3f0e8}.feedbackInbox li>div:first-child{justify-content:space-between;gap:1rem;display:flex}.feedbackState,.feedbackKind{text-transform:uppercase;letter-spacing:.08em;font:700 .72rem/1.2 system-ui}.feedbackKind{color:#765f4e;margin:.7rem 0}.feedbackInbox time{color:#765f4e;font:.75rem/1.3 system-ui}.feedbackInbox blockquote{background:#f6efdf;border-left:3px solid #c58b55;margin:.7rem 0;padding:.55rem .7rem}.feedbackInbox details{color:#765f4e;font:.78rem/1.45 system-ui}.feedbackInboxActions{flex-wrap:wrap;gap:.55rem;margin-top:.75rem;display:flex}.feedbackInboxActions button{color:#173c3a;background:0 0;border:1px solid #173c3a;border-radius:999px;padding:.5rem .7rem;font:700 .78rem system-ui}.feedbackInboxActions button:disabled{opacity:.45}.feedbackNotice{background:#e6f0e8;border-radius:9px;padding:.85rem;font:600 .9rem/1.45 system-ui}@media (max-width:560px){.uploadRow{grid-template-columns:1fr}.receiptList li{display:block}.receiptActions{margin-top:.5rem}.familyShell{padding:.75rem}.feedbackCard{padding:1.1rem}.feedbackInbox li>div:first-child{display:block}}.admin{width:min(54rem,100%);margin:2.5rem auto 4rem;padding:0 clamp(1.25rem,4vw,2.5rem)}.admin h2{margin:0;font-size:1.6rem;font-weight:400}.admin-sub{color:#536e6e;margin:.35rem 0 1.25rem;font-size:.95rem}.admin-card{background:#fffaf0;border:1px solid #154d5238;border-left:3px solid #e8b487;border-radius:6px;margin-top:1rem;padding:1.15rem 1.3rem}.admin-card h3{letter-spacing:.18em;text-transform:uppercase;color:#8a5433;margin:0 0 .6rem;font-family:Arial,Helvetica,sans-serif;font-size:.72rem;font-weight:700}.admin-card textarea{resize:vertical;color:#143f42;background:#fff;border:1px solid #154d524d;border-radius:4px;width:100%;min-height:9rem;padding:.8rem .9rem;font:.92rem/1.55 ui-monospace,SF Mono,Menlo,monospace}.admin-note-bar{color:#6d7f74;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.55rem;font-size:.82rem;display:flex}.admin-note-bar button{cursor:pointer;color:#fffaf0;background:#154d52;border:1px solid #154d52;border-radius:4px;padding:.45rem 1rem;font:700 .8rem Arial,Helvetica,sans-serif}.admin-note-bar button:disabled{opacity:.5;cursor:default}.admin-stat{color:#3f524d;margin:.3rem 0;font-size:.95rem}.admin-quiet{color:#6d7f74;margin:.4rem 0 0;font-size:.88rem}.admin-rsvps,.admin-changelog,.admin-engine{color:#3f524d;margin:.6rem 0 0;padding-left:1.1rem;font-size:.92rem;line-height:1.6}.admin-changelog>li{margin-top:.5rem}.admin-changelog ul{margin:.2rem 0 0;padding-left:1.1rem}.admin-engine code{background:#e8b48733;border-radius:4px;padding:1px 5px;font-size:.85em}.admin a{color:#154d52}.explorer-controls input{color:#143f42;background:#fff;border:1px solid #154d524d;border-radius:4px;width:100%;padding:.6rem .8rem;font:.95rem Georgia,Times New Roman,serif}.explorer-chips{flex-wrap:wrap;gap:.4rem;margin-top:.55rem;display:flex}.explorer-chips button{cursor:pointer;color:#154d52;background:#faf1e3cc;border:1px solid #154d524d;border-radius:999px;padding:.3rem .8rem;font:.82rem Georgia,serif}.explorer-chips button.on{color:#fffaf0;background:#154d52}.explorer-list{flex-direction:column;gap:.45rem;max-height:34rem;margin:.6rem 0 0;padding:0;list-style:none;display:flex;overflow-y:auto}.explorer-row{text-align:left;cursor:pointer;background:#fffaf0cc;border:1px solid #154d5224;border-radius:4px;align-items:center;gap:.75rem;width:100%;padding:.5rem .6rem;display:flex}.explorer-row:hover{border-color:#154d5259}.explorer-thumb{object-fit:cover;border-radius:3px;flex:none;width:46px;height:46px}.explorer-glyph{color:#154d52;background:#e8b48738;border-radius:3px;flex:none;place-items:center;width:46px;height:46px;font-size:1.2rem;display:grid}.explorer-main{min-width:0}.explorer-name{color:#143f42;white-space:nowrap;text-overflow:ellipsis;font-size:.93rem;display:block;overflow:hidden}.explorer-meta{color:#6d7f74;margin-top:.15rem;font-size:.78rem;display:block}.explorer-deleted .explorer-row{opacity:.55}.explorer-stage{padding:.8rem .6rem .4rem}.explorer-stage img,.explorer-stage video{background:#101613;border-radius:4px;max-width:100%;max-height:24rem}.explorer-stage audio{width:100%}.explorer-text{color:#3f524d;white-space:pre-wrap;background:#faf1e3b3;border-left:3px solid #e8b487;margin:0;padding:.8rem 1rem;font-size:.98rem;line-height:1.7}.explorer-note{color:#6d7f74;margin:.5rem 0 0;font-size:.85rem;font-style:italic}.explorer-actions{margin:.5rem 0 0;font-size:.85rem}.explorer-actions a{color:#154d52}.room-shell{color:#143f42;background:radial-gradient(70% 30rem at 50% 0,#e8b4871f,#0000 72%),#f5f0e5;min-height:60vh;padding:clamp(3rem,8vw,5.5rem) 1.25rem clamp(4rem,9vw,6rem);font-family:Georgia,Times New Roman,serif}.room-door,.room{width:min(44rem,100%);margin:0 auto}.room-door{text-align:center}.room-door .eyebrow,.room-head .eyebrow{color:#8a5433;margin:0 0 clamp(.85rem,2vw,1.2rem);font-size:.72rem}.room-door h1,.room-head h1{color:#173d3f;text-wrap:balance;margin:0;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(2.1rem,5vw,3.2rem);font-weight:500;line-height:1.05}.room-lede{color:#3f524d;max-width:34rem;margin:clamp(1rem,2.5vw,1.5rem) auto 0;font-size:clamp(1.08rem,1.8vw,1.2rem);line-height:1.75}.room-form{text-align:left;gap:.8rem;width:min(26rem,100%);margin:clamp(1.75rem,4vw,2.5rem) auto 0;display:grid}.room-form label{color:#143f42;font-family:Arial,Helvetica,sans-serif;font-size:.95rem;font-weight:700;line-height:1.5}.room-form input{color:#143f42;background:#fffaf0;border:1px solid #154d5261;border-radius:6px;width:100%;padding:.9rem 1rem;font:1.15rem/1.4 Georgia,serif}.room-form input:focus-visible{outline-offset:1px;outline:3px solid #e8b487cc}.room-form button[type=submit]{-webkit-appearance:none;appearance:none;cursor:pointer;letter-spacing:.025em;color:#fffaf0;background:#154d52;border:1px solid #154d52;border-radius:3px;padding:.85rem 1.5rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.15rem;font-weight:600;box-shadow:0 10px 28px #10312f2e}:is(.room-form button[type=submit]:hover,.room-form button[type=submit]:focus-visible){filter:brightness(1.06)}.room-form button[type=submit]:disabled{opacity:.6}.room-small{color:#6d7f74;margin:.25rem 0 0;font-size:.95rem;line-height:1.6}.room-linklike{-webkit-appearance:none;appearance:none;color:#154d52;font:inherit;text-underline-offset:.18em;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.room-notice{color:#3f524d;background:#faf1e3bf;border:1px solid #154d5233;border-top:3px solid #e8b487;width:min(30rem,100%);margin:clamp(1.25rem,3vw,1.75rem) auto 0;padding:.9rem 1.1rem;font-size:1.02rem;line-height:1.65}.room-ask{margin:.9rem 0 0;font-size:1.02rem}.room-ask a{color:#154d52;text-underline-offset:.18em;text-decoration-color:#154d5266}.room-quiet{text-align:center;color:#6d7f74;margin:0;font-size:1.05rem}.room-head{text-align:center}.room{width:min(62rem,100%)}.room-guestbook{color:#6d7f74;max-width:36rem;margin:clamp(1rem,2.5vw,1.4rem) auto 0;font-size:1.05rem;font-style:italic;line-height:1.7}.room-welcome-print{--tilt:-1.5deg;width:min(15rem,60%);margin:clamp(1.25rem,3vw,1.75rem) auto 0;display:block}.room-chips{z-index:5;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#f5f0e5f0;border-bottom:1px solid #154d521f;justify-content:center;gap:.5rem;margin:clamp(1.5rem,4vw,2.25rem) -1.25rem 0;padding:.6rem 1.25rem;display:flex;position:sticky;top:0;overflow-x:auto}.room-chips::-webkit-scrollbar{display:none}.room-chip{color:#154d52;cursor:pointer;white-space:nowrap;background:#fffaf0;border:1px solid #154d524d;border-radius:999px;flex:none;align-items:center;gap:.45rem;min-height:44px;padding:.35rem 1rem;font-family:Arial,Helvetica,sans-serif;font-size:1rem;text-decoration:none;display:inline-flex}:is(.room-chip:hover,.room-chip:focus-visible){background:#faf1e3;border-color:#154d52}.room-chip kbd{color:#8a5433;border:1px solid #8a543359;border-radius:4px;padding:.1rem .3rem;font:.78rem/1 Arial,sans-serif}@media (max-width:720px){.room-chip-search{display:none}}.room-section{margin:clamp(1.25rem,3vw,2rem) auto 0;scroll-margin-top:4.5rem}.room-section h2{text-align:center;color:#173d3f;margin:0;font-family:Cormorant Garamond,Georgia,Times New Roman,serif;font-size:clamp(1.7rem,3.6vw,2.3rem);font-weight:500}.room-section-lede{text-align:center;color:#3f524d;max-width:36rem;margin:.8rem auto 0;font-size:1.05rem;line-height:1.7}.room-symbol-defs{width:0;height:0;position:absolute;overflow:hidden}.room-divider{opacity:.75;justify-content:center;margin:clamp(2.25rem,5vw,3.5rem) 0 clamp(1.25rem,3vw,2rem);display:flex}.print-grid{grid-template-columns:repeat(2,1fr);gap:clamp(.9rem,2.5vw,1.75rem);margin:clamp(1.5rem,4vw,2.25rem) 0 0;padding:0;list-style:none;display:grid}@media (min-width:720px){.print-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1100px){.print-grid{grid-template-columns:repeat(4,1fr)}}.print{-webkit-appearance:none;appearance:none;cursor:pointer;width:100%;transform:rotate(var(--tilt,0deg));background:#fffdf8;border:1px solid #154d521f;padding:.5rem .5rem 1.1rem;transition:transform .25s,box-shadow .25s;display:block;box-shadow:0 8px 22px #10312f24}:is(.print:hover,.print:focus-visible){transform:rotate(0)scale(1.02);box-shadow:0 14px 32px #10312f33}.print:focus-visible{outline-offset:2px;outline:3px solid #e8b487d9}.print img{background:#faf1e3;width:100%;height:auto;display:block}.print-cue{color:#8a5433;text-align:center;margin-top:.4rem;font-family:Arial,Helvetica,sans-serif;font-size:.78rem;display:block}.print-lightbox{width:min(64rem,100vw - 2rem);max-height:calc(100vh - 2rem);color:#143f42;touch-action:pan-y;background:#fffdf8;border:0;max-height:calc(100dvh - 2rem);padding:clamp(.75rem,2vw,1.25rem);overflow-y:auto;box-shadow:0 24px 64px #10312f59}.print-lightbox::backdrop{background:#143f428c}.print-lightbox-fallback{z-index:60;margin:0;position:fixed;inset:4vh auto auto 50%;transform:translate(-50%);box-shadow:0 0 0 100vmax #10312f80}.print-lightbox figure{margin:0}.print-lightbox img{object-fit:contain;background:#faf1e3;width:100%;height:auto;max-height:calc(100vh - 10rem);display:block}.print-lightbox figcaption{text-align:center;color:#3f524d;margin-top:.7rem;font-size:1.02rem}.print-lightbox-bar{justify-content:center;align-items:center;gap:1rem;margin-top:.8rem;display:flex}.print-nav,.print-close{-webkit-appearance:none;appearance:none;color:#154d52;cursor:pointer;background:#fffaf0;border:1px solid #154d5259;border-radius:6px;min-width:44px;min-height:44px;font:1.05rem/1 Georgia,serif}.print-nav{font-size:1.5rem}.print-close{padding:0 1.4rem}:is(.print-nav:hover,.print-nav:focus-visible,.print-close:hover,.print-close:focus-visible){background:#faf1e3;border-color:#154d52}.gathering-event{text-align:center;background:#faf1e3;border:1px solid #154d5233;border-top:3px solid #e8b487;max-width:34rem;margin:clamp(1.25rem,3vw,1.75rem) auto 0;padding:1.1rem 1.3rem}.gathering-when{margin:0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.25rem;font-weight:600}.gathering-where{margin:.4rem 0 0;font-size:1.05rem}.gathering-where a{color:#154d52;text-underline-offset:.18em}.gathering-itinerary{color:#6d7f74;margin:.5rem 0 0;font-size:.98rem}.table-heading{text-align:center;color:#173d3f;margin:clamp(1.75rem,4vw,2.5rem) 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:500}.place-cards{flex-wrap:wrap;justify-content:center;gap:.7rem;max-width:44rem;margin:1rem auto 0;padding:0;list-style:none;display:flex}.place-card{background:#fffdf8;border:1px solid #154d5229;justify-items:center;gap:.1rem;min-width:7rem;padding:.65rem 1rem .75rem;display:grid;box-shadow:0 5px 14px #10312f1a}.place-name{color:#173d3f;font-family:Cormorant Garamond,Georgia,serif;font-size:1.2rem;font-weight:600}.place-card:after{content:"";background:#e8b487;order:1;width:2rem;height:2px;margin-top:.25rem}.place-party{color:#6d7f74;order:2;margin-top:.25rem;font-size:.88rem}.room-quiet-line{text-align:center;color:#6d7f74;margin:1rem 0 0;font-size:1.02rem;font-style:italic}.room-rsvp{text-align:center;max-width:34rem;margin:clamp(1.5rem,3.5vw,2rem) auto 0}.room-rsvp-lede{color:#3f524d;margin:0 0 .75rem;font-size:1.05rem}.share-card{background:#faf1e3;border:1px solid #154d5233;border-top:3px solid #e8b487;max-width:38rem;margin:clamp(1.25rem,3vw,1.75rem) auto 0;padding:1.2rem 1.3rem 1.3rem}.share-lede{color:#143f42;margin:0 0 .8rem;font-size:1.08rem;line-height:1.65}.share-card textarea{color:#143f42;resize:vertical;background:#fffaf0;border:1px solid #154d5261;border-radius:6px;width:100%;min-height:8.5rem;padding:.9rem 1rem;font:1.08rem/1.6 Georgia,serif}.share-card textarea:focus-visible{outline-offset:1px;outline:3px solid #e8b487cc}.share-bar{justify-content:flex-end;margin-top:.8rem;display:flex}.share-send{-webkit-appearance:none;appearance:none;cursor:pointer;letter-spacing:.025em;color:#fffaf0;background:#154d52;border:1px solid #154d52;border-radius:3px;min-height:44px;padding:.6rem 1.4rem;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:600}:is(.share-send:hover,.share-send:focus-visible){filter:brightness(1.06)}.share-send:disabled{opacity:.6}.share-notice{text-align:center}.share-doors{text-align:center;gap:.6rem;max-width:34rem;margin:clamp(1.25rem,3vw,1.75rem) auto 0;font-size:1rem;display:grid}.share-doors a{color:#154d52;text-underline-offset:.18em;text-decoration-color:#154d5266}.room-about{max-width:40rem;margin-left:auto;margin-right:auto}.room-about h3{color:#173d3f;margin:clamp(1.5rem,3.5vw,2rem) 0 0;font-family:Cormorant Garamond,Georgia,serif;font-size:1.3rem;font-weight:600}.room-about p{color:#3f524d;margin:.5rem 0 0;font-size:1.05rem;line-height:1.75}.room-about a{color:#154d52;text-underline-offset:.18em;overflow-wrap:anywhere;text-decoration-color:#154d5266}.about-rows{gap:.45rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.about-rows li{color:#3f524d;background:#faf1e3;border:1px solid #154d5224;padding:.55rem .8rem;font-size:1.02rem;line-height:1.6}.room-footnote{color:#6d7f74;margin:clamp(1.5rem,3.5vw,2rem) 0 0;font-family:Arial,Helvetica,sans-serif;font-size:.85rem;line-height:1.6}.room-footnote a{color:#6d7f74;text-decoration-color:#6d7f7480}.room-ask{background:#fffdf8;border:1px solid #154d522e;margin:.8rem 0 0;padding:.6rem .9rem}.room-ask summary{cursor:pointer;color:#154d52;align-items:center;gap:.55rem;min-height:44px;font-family:Arial,Helvetica,sans-serif;font-size:.98rem;list-style:none;display:flex}.room-ask summary::-webkit-details-marker{display:none}.room-ask summary:before{content:"▸";color:#b98a55;transition:transform .15s}.room-ask[open] summary:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.room-ask summary:before{transition:none}}.room-palette{width:min(32rem,100vw - 2rem);max-height:calc(88vh - 2rem);color:#143f42;background:#fffdf8;border:1px solid #154d5240;border-radius:8px;max-height:calc(100dvh - 12vh - 2rem);margin-top:10vh;padding:.8rem;overflow-y:auto;box-shadow:0 24px 64px #10312f59}.room-palette::backdrop{background:#143f4266}.room-palette input{color:#143f42;background:#fffaf0;border:1px solid #154d5261;border-radius:6px;width:100%;padding:.7rem .9rem;font:1.05rem/1.4 Georgia,serif}.room-palette input:focus-visible{outline-offset:1px;outline:3px solid #e8b487cc}.room-palette ul{max-height:40vh;margin:.6rem 0 0;padding:0;list-style:none;overflow-y:auto}.palette-item{-webkit-appearance:none;appearance:none;color:#143f42;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:44px;padding:.5rem .7rem;font:1rem/1.4 Georgia,serif;display:flex}.palette-active{background:#faf1e3}.palette-hint{color:#8a5433;flex:none;font-family:Arial,Helvetica,sans-serif;font-size:.8rem}.palette-empty{color:#6d7f74;margin:.8rem .3rem .4rem;font-size:.98rem}.palette-help{color:#6d7f74;margin:.6rem .3rem 0;font-family:Arial,Helvetica,sans-serif;font-size:.78rem}@media (prefers-reduced-motion:reduce){.print{transition:none;transform:none}:is(.print:hover,.print:focus-visible){transform:none}}.room-return{flex-wrap:wrap;justify-content:center;gap:1.5rem;margin:clamp(2rem,5vw,3rem) 0 0;font-size:.98rem;display:flex}.room-return a{color:#154d52;text-underline-offset:.18em;text-decoration-color:#154d5266}@media (max-width:560px){.room-shell{padding-top:2.25rem}}.room-admin-latch{background:#f5f0e5;border-top:1px solid #154d5226;padding:0 0 2rem}.room-admin-latch>summary{cursor:pointer;color:#536e6e;letter-spacing:.08em;text-transform:uppercase;justify-content:center;align-items:center;gap:.55rem;min-height:44px;padding:1.1rem 1.25rem;font-family:Arial,Helvetica,sans-serif;font-size:.85rem;list-style:none;display:flex}.room-admin-latch>summary::-webkit-details-marker{display:none}.room-admin-latch>summary:before{content:"▸";color:#b98a55}.room-admin-latch[open]>summary:before{content:"▾"}
