@font-face{font-family:Palanquin;src:url('palanquin-regular.ttf');font-display:swap}*{box-sizing:border-box}body{margin:0;color:#263c33;background:#f7f4eb;font-family:Palanquin,Arial,sans-serif;font-size:16px}a{color:inherit;text-decoration:none}.site-header{max-width:1200px;margin:auto;padding:30px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dedfd3}.brand{font-weight:bold;font-size:24px;letter-spacing:-1px}.brand-icon{color:#a73535;margin-right:10px;font-size:30px}.brand-dot{color:#a73535}.header-note{font-size:13px;color:#6c786e}.welcome{max-width:1120px;margin:64px auto 54px;padding:0 40px;display:grid;grid-template-columns:1.2fr 1fr;gap:70px;align-items:center}.eyebrow,.card-kicker{font-size:11px;font-weight:bold;letter-spacing:2px;color:#9c473b}h1{font-family:Georgia,serif;font-size:64px;line-height:1.08;font-weight:normal;letter-spacing:-2px;margin:22px 0}h1 em{color:#a73535}p{line-height:1.6}.intro-copy{color:#66746a;font-size:17px}.join-card,.panel{background:#fffdf8;border:1px solid #e3dfd3;border-radius:18px;padding:36px;box-shadow:0 12px 35px #344c3210}.join-card{position:relative;border-top:4px solid #a73535}.join-card h2,.panel h2{font-family:Georgia,serif;font-weight:normal;font-size:30px;line-height:1.2;margin:14px 0}.join-card>p{color:#718074;margin-bottom:26px;font-size:14px}label{display:block;font-size:14px;font-weight:bold;margin:18px 0 7px}input:not([type=checkbox]){width:100%;border:1px solid #d8dcd1;background:#fffefa;border-radius:8px;padding:13px 15px;font:inherit;color:#263c33;min-width:0}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #b8985c;outline-offset:3px}input::placeholder{color:#90978b}.field-note{font-size:12px;color:#7a8378;margin:8px 0 24px}button{background:#a73535;border:0;border-radius:8px;color:white;padding:14px 20px;font:inherit;font-weight:bold;cursor:pointer;min-height:48px}form button{width:100%;display:flex;justify-content:space-between}button:hover{background:#892a2a}button:disabled{opacity:.55;cursor:default}.card-footer{border-top:1px solid #e8e5db;margin-top:28px;padding-top:20px;text-align:center;color:#7a8378;font-size:12px}.card-footer span{color:#ae884a;margin-right:8px}.site-footer{max-width:1120px;margin:30px auto;padding:24px 40px;border-top:1px solid #dedfd3;display:flex;justify-content:space-between;font-size:11px;color:#778073}.site-footer span:first-child{letter-spacing:1.8px}.gift-scene{height:220px;position:relative;max-width:380px;margin-top:26px}.gift{position:absolute;border-radius:4px;bottom:20px;box-shadow:inset -15px 0 #00000008;z-index:2}.gift:before{content:'';position:absolute;width:22%;height:100%;left:39%;background:#ecd4a0}.gift:after{content:'';position:absolute;left:-5%;top:0;width:110%;height:22px;background:inherit;border-radius:4px;box-shadow:0 4px #00000008}.gift i{position:absolute;left:30%;top:-34px;width:58px;height:36px;border:9px solid #d1ae71;border-radius:55% 55% 0 55%;transform:rotate(15deg)}.gift i:after{content:'';position:absolute;width:40px;height:25px;left:30px;top:-9px;border:9px solid #d1ae71;border-radius:55% 55% 55% 0;transform:rotate(-35deg)}.gift-big{width:140px;height:130px;background:#a73535;left:140px;transform:rotate(6deg)}.gift-small{width:108px;height:88px;background:#476453;left:52px;transform:rotate(-9deg);z-index:3}.gift-tag{position:absolute;background:#fff8e7;padding:6px 10px;right:-22px;top:47px;font:italic 13px Georgia;transform:rotate(12deg)}.ground{position:absolute;bottom:8px;left:20px;width:320px;height:30px;background:#e7e6d9;border-radius:50%}.spark{position:absolute;color:#b99355;font-size:30px}.s1{left:15px;top:55px}.s2{right:20px;top:20px}.s3{left:110px;top:0;font-size:18px}.scene-caption{font-size:12px;color:#7a8378}.room-main{max-width:1080px;padding:0 32px;margin:42px auto}.room-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.room-heading h1{font-size:44px;margin:10px 0;overflow-wrap:anywhere}.badge{background:#e6ecdf;color:#48634e;padding:6px 14px;border-radius:30px;font-size:12px;white-space:nowrap}.steps{display:flex;gap:24px;margin:28px 0 32px;padding-bottom:22px;border-bottom:1px solid #dedfd3;font-size:13px;color:#748071}.steps b{color:#a73535}.room-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.panel p{color:#718074;font-size:14px}.participant{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #eeeade;margin:0;font-weight:normal}.avatar{width:38px;height:38px;border-radius:50%;background:#e9ede2;display:grid;place-items:center;color:#52674c}.participant input{margin-left:auto;width:19px;height:19px;accent-color:#48634e}.participant small{margin-left:auto;color:#85907f}.reveal{text-align:center;background:#edf0e6;box-shadow:none}.reveal-icon{font-size:54px;color:#a73535}.admin{margin-top:26px;border-top:1px solid #d8dfce;padding-top:18px}.admin h3{font-size:16px;margin:0}.status{min-height:24px;font-size:13px;color:#a73535}.empty{padding:20px 0;font-style:italic}[hidden]{display:none!important}@media(max-width:760px){.site-header{padding:20px 24px}.header-note{display:none}.welcome{grid-template-columns:1fr;gap:28px;margin:34px auto;padding:0 24px}.intro{text-align:center}h1{font-size:48px}.intro-copy{font-size:16px}.gift-scene{height:170px;transform:scale(.8);margin:-5px auto -20px;width:350px;max-width:100%}.scene-caption{display:none}.join-card,.panel{padding:26px}.site-footer{margin:30px 24px;padding:20px 0;display:block;text-align:center}.site-footer span{display:block;margin:5px 0}.room-main{padding:0 20px;margin-top:26px}.room-grid{grid-template-columns:1fr}.room-heading{align-items:flex-start}.room-heading h1{font-size:34px}.steps{gap:14px;font-size:11px}.brand{font-size:22px}}

.share-room{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:16px}.share-room button{background:#48634e}.share-room button:hover{background:#354c3a}#share-status{font-size:13px;color:#52674c}#share-fallback{flex-basis:100%;max-width:600px}

.chosen-room{overflow-wrap:anywhere}.chosen-room a{text-decoration:underline}.existing-names{display:grid;gap:8px;max-height:300px;overflow-y:auto;padding:4px}.existing-names button{background:#edf0e6;color:#263c33;text-align:left;gap:12px}.existing-names button:hover{background:#dfe6d5}.existing-names button span:first-child{overflow-wrap:anywhere;min-width:0}.new-name{border-top:1px solid #e3dfd3;margin-top:24px;padding-top:4px}.new-name button{margin-top:20px}

.participant .remove-member{background:transparent;color:#a73535;font-size:12px;padding:6px 8px;min-height:36px;border:1px solid #dec8c0}.participant .remove-member:hover{background:#f6e8e2}.participant>span:nth-child(2){min-width:0;overflow-wrap:anywhere}
.existing-names{max-height:none}.participant input[type=radio]{width:19px;height:19px;margin:0;accent-color:#48634e}
.exclusion-toggle{display:flex;align-items:center;gap:8px;margin-left:auto;background:transparent;color:#66746a;padding:6px;min-height:40px;font-size:12px;font-weight:normal}.exclusion-toggle:hover{background:#e9ede2}.toggle-track{width:36px;height:22px;background:#cdd5c7;border-radius:20px;position:relative;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:white;transition:transform .15s}.exclusion-toggle[aria-checked=true]{color:#a73535}.exclusion-toggle[aria-checked=true] .toggle-track{background:#a73535}.exclusion-toggle[aria-checked=true] .toggle-track:after{transform:translateX(14px)}.exclusion-toggle:disabled{opacity:.5}@media(prefers-reduced-motion:reduce){.toggle-track:after{transition:none}}
.room-mode{border:0;padding:0;margin:20px 0;display:flex;gap:8px}.room-mode legend{font-size:14px;font-weight:bold}.room-mode label{flex:1;margin:8px 0;position:relative}.room-mode input[type=radio]{position:absolute;opacity:0;width:1px;height:1px}.room-mode span{display:block;text-align:center;border:1px solid #d8dcd1;border-radius:8px;padding:12px 8px;cursor:pointer}.room-mode input:checked+span{background:#48634e;border-color:#48634e;color:white}.room-mode input:focus-visible+span{outline:3px solid #b8985c;outline-offset:3px}
.admin-room{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #e3dfd3;padding:18px 0}.admin-room>div{min-width:0;overflow-wrap:anywhere}.admin-room p{margin:4px 0}.admin-room form{flex-shrink:0}
