@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-italic-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-italic-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/cormorant-garamond-500-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/cormorant-garamond-600-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cormorant-garamond-700-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/cormorant-garamond-700-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-400-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/source-sans-3-400-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-sans-3-500-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/source-sans-3-500-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-600-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/source-sans-3-600-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-700-normal-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/source-sans-3-700-normal-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--page: #f7f6f2;--surface: #ffffff;--ink: #202421;--muted: #666b67;--line: #d9d8d2;--pine: #21443b;--pine-hover: #1a3830;--sage: #87968b;--oxblood: #963f3b;--blush: #eadbd6;--poster-ink: #2a2a28;--poster-cream: #fbf6ec;--poster-red: #9a3b36;--font-display: "Cormorant Garamond", Georgia, "Times New Roman", serif;--font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--radius-card: 20px;--radius-field: 12px;--focus: 0 0 0 3px rgba(33, 68, 59, .16)}html[data-lang=zh]{--font-display: "Noto Serif SC", "Songti SC", "STSong", serif;--font-body: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{font-size:18px}html,body,#root{margin:0;min-height:100%}body{font-family:var(--font-body);color:var(--ink);line-height:1.55;background:var(--page);overflow-x:clip;-webkit-font-smoothing:antialiased}html[data-lang=zh] body{font-size:1.04rem;line-height:1.7}button,input,select,textarea{font:inherit}a{color:inherit}h1,h2,.intro-headline,.std-name,.std-and{font-family:var(--font-display)}.shell{max-width:640px;margin:0 auto;padding:20px 20px 64px}.page-end{height:14rem}.lang-bar{display:flex;justify-content:flex-end;gap:2px;width:fit-content;margin:0 0 28px auto;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.lang-bar a{font-size:.82rem;font-weight:600;text-decoration:none;color:var(--muted);padding:5px 12px;border-radius:999px;line-height:1.3}.lang-bar a:hover{color:var(--ink)}.lang-bar a.active{color:var(--pine);background:#e9eee9}.hero{text-align:center;padding:8px 0 40px}.std-poster{max-width:22rem;margin:0 auto;padding:20px;background:var(--surface);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px #2024211a,0 2px 8px #2024210d}.hero .std-marquee{margin:0 auto 14px;max-width:16.5rem;padding:.45rem .7rem .4rem;border:1.5px solid var(--poster-ink);background:var(--poster-cream);font-family:var(--font-display);font-size:.95rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--poster-red)}html[data-lang=zh] .hero .std-marquee{letter-spacing:.28em;text-transform:none}.std-booth{display:grid;grid-template-columns:.92fr 1.08fr;align-items:stretch;border:1.5px solid var(--poster-ink);background:#7d8c80}.std-door{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:.85rem .45rem .7rem;background:#7d8c80}.hero .std-names{margin:0;width:100%;padding:.55rem .3rem .5rem;background:var(--poster-cream);border:1.5px solid var(--poster-ink);color:var(--poster-ink)}.std-name{display:block;font-style:italic;font-size:1.4rem;font-weight:600;line-height:1.1}.std-and{display:block;margin:.15rem 0 .05rem;font-style:italic;font-size:.9rem}.std-ticket{display:grid;gap:.12rem;justify-items:center;margin:.7rem 0;font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:.06em;color:var(--poster-ink)}.hero .std-place{margin:0;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--poster-ink)}.std-place span{display:block;line-height:1.35}.hero .std-place .std-venue{font-size:.72rem;margin-bottom:.1rem}html[data-lang=zh] .hero .std-place{letter-spacing:.08em;text-transform:none;font-size:.72rem}.std-photo-wrap{position:relative;display:block;background:#f4efe3}.std-photo-booth{display:block;width:100%;height:auto}.std-curtain{position:absolute;top:7.4%;left:9.8%;width:74.8%;height:44.6%;display:grid;grid-template:minmax(0,1fr) / minmax(0,1fr);place-items:center;padding:8%;pointer-events:none}.std-curtain-photo{grid-area:1 / 1;display:block;width:auto;height:auto;max-width:100%;max-height:100%;border:3px solid var(--poster-cream);box-shadow:0 3px 10px #00000047;opacity:0;transition:opacity .45s ease}.std-curtain-photo.is-active{opacity:1}.std-photo-nav{position:absolute;top:28%;z-index:1;width:1.75rem;height:1.75rem;border:0;border-radius:999px;background:#f7f6f22e;color:#f7f6f28c;font-size:1.2rem;line-height:1;cursor:pointer;box-shadow:none;opacity:.35;transition:opacity .25s ease,background .25s ease}.std-photo-nav span{display:block;margin-top:-.08em}.std-photo-nav-prev{left:.35rem}.std-photo-nav-next{right:.45rem}.std-photo-nav:hover{opacity:.75;background:#f7f6f252}.std-photo-nav:focus-visible{outline:none;opacity:.85;box-shadow:var(--focus)}.hero .intro-headline{margin:44px auto 0;max-width:30rem;font-size:2rem;font-weight:600;line-height:1.15;color:var(--ink)}.hero .intro{margin:10px auto 0;max-width:28rem;font-size:.95rem;line-height:1.6;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-card);padding:32px;box-shadow:0 12px 36px #2024210f;text-align:left}.card h2{font-size:1.55rem;font-weight:600;margin:0 0 6px;line-height:1.2;color:var(--ink)}.card h3{font-family:var(--font-display);font-weight:600}.lead,.hint{color:var(--muted);line-height:1.55}.lead{margin:0 0 20px;font-size:.95rem}.hint{font-size:.9rem;margin:6px 0 0}.privacy{margin:16px 8px 0;color:var(--muted);font-size:.8rem;line-height:1.5;text-align:center}form.search-row{display:flex;gap:10px}.search-row input{flex:1;min-width:0}input,select{width:100%;height:52px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-field);padding:0 14px;color:var(--ink);transition:border-color .12s ease,box-shadow .12s ease}input::placeholder{color:#9a9e9a}input:focus,select:focus{outline:none;border-color:var(--pine);box-shadow:var(--focus)}.btn{appearance:none;border:1px solid var(--pine);border-radius:var(--radius-field);height:52px;padding:0 22px;background:var(--pine);color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:background .12s ease,box-shadow .12s ease}.btn:hover:not(:disabled){background:var(--pine-hover)}.btn:focus-visible{outline:none;box-shadow:var(--focus)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:var(--surface);color:var(--pine);border-color:var(--line)}.btn.secondary:hover:not(:disabled){background:#f2f4f1}.btn.full{width:100%}.link-btn{appearance:none;background:none;border:0;padding:8px 0;min-height:2.5rem;color:var(--pine);font:inherit;font-size:.9rem;font-weight:600;text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px;cursor:pointer}.link-btn:hover{text-decoration-thickness:2px}.link-btn:focus-visible{outline:none;box-shadow:var(--focus);border-radius:6px}.results{display:grid;gap:10px;margin-top:18px}.party-card{text-align:left;width:100%;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:14px 16px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.party-card:hover{border-color:var(--sage);background:#fafaf8}.party-card:focus-visible{outline:none;box-shadow:var(--focus)}.party-card strong{display:block;font-size:1.05rem;font-weight:600;margin-bottom:2px}.party-card span{color:var(--muted);font-size:.92rem}.alert{margin-top:16px;padding:12px 14px;border-radius:var(--radius-field);background:#f6ecea;color:var(--oxblood);font-size:.92rem}.member-list{list-style:none;margin:6px 0 20px;padding:0}.member-list li{padding:12px 0;border-bottom:1px solid var(--line);font-size:1.05rem}.member-list li:last-child{border-bottom:0}.actions{display:grid;gap:10px}.field{margin-bottom:16px}.field label,.section-label{display:block;font-size:.92rem;font-weight:600;margin-bottom:6px;color:var(--ink)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.edit-toggle{margin:0 0 8px}.name-editor{background:#f7f7f4;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:14px}.name-editor h3{margin:0 0 10px;font-size:1.15rem}.plus{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbf8f6}.check{display:flex;gap:12px;align-items:flex-start;font-weight:600;font-size:1rem}.check input{width:1.2rem;height:1.2rem;margin-top:.2rem;flex-shrink:0;accent-color:var(--pine)}.phone-row{display:flex;gap:8px}.phone-row select{width:11.5rem;flex-shrink:0}.phone-row input{flex:1;min-width:0}@media(max-width:480px){.shell{padding:16px 16px 48px}.card{padding:24px 20px}.hero .intro-headline{font-size:1.75rem}}@media(max-width:420px){.grid-2{grid-template-columns:1fr}form.search-row,.phone-row{flex-direction:column}.phone-row select{width:100%}}
