:root{--ink:#142522;--ink-2:#203b34;--cream:#f6f2e9;--paper:#fffdf7;--muted:#6b756f;--line:#d9dbd1;--red:#e9563d;--red-dark:#b83d28;--gold:#f2cb7e;--green:#437b68;--shadow:0 18px 50px rgba(24,42,36,.06);--serif:Georgia,'Times New Roman',serif;--sans:Inter,'Avenir Next',Avenir,'Segoe UI',Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behaviour:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:3px}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}main{flex:1}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.04em}h1{font-size:clamp(3.1rem,6vw,6.5rem);line-height:.98;font-weight:600}h1 em,h2 em{color:var(--red);font-family:var(--serif);font-weight:400}h2{font-size:clamp(2rem,3.5vw,3.4rem);line-height:1.07}h3{font-size:1.35rem;line-height:1.12}p{line-height:1.65}small{font-size:.78rem}.shell{max-width:1260px;margin:0 auto;padding-left:clamp(22px,5vw,64px);padding-right:clamp(22px,5vw,64px)}.eyebrow{font-size:.68rem;font-weight:800;letter-spacing:.18em;color:var(--gold);display:inline-flex;gap:10px;align-items:center;line-height:1.7;text-transform:uppercase}.eyebrow.dark{color:var(--red-dark)}.eyebrow-dot{width:8px;height:8px;background:var(--gold);border-radius:50%}
.site-header{height:89px;padding:0 clamp(22px,5vw,72px);background:var(--ink);color:var(--paper);display:flex;justify-content:space-between;align-items:center;position:relative;z-index:3;border-bottom:1px solid #34463f}.brand{display:flex;align-items:center;gap:15px}.brand-emblem{font-size:2.65rem;color:var(--red);line-height:1}.brand-stack{display:flex;flex-direction:column;line-height:1}.brand-stack strong{font-size:1.3rem;letter-spacing:.12em;font-weight:900}.brand-stack small{font-size:.57rem;letter-spacing:.28em;color:#b9c7bd;margin-top:7px}.brand-slash{height:32px;width:1px;background:#63766d;margin:0 3px}.brand-product{font-size:.74rem;font-weight:800;letter-spacing:.12em;white-space:nowrap}.site-nav{display:flex;align-items:center;gap:27px;font-size:.81rem;font-weight:750}.site-nav a:hover,.nav-logout:hover{color:var(--gold)}.nav-logout{color:inherit;border:none;background:none;padding:0;font-weight:750}.avatar{width:34px;height:34px;border:1px solid #7c8e7e;background:#2b4337;border-radius:50%;display:grid;place-items:center;color:var(--gold)}.inline-form{display:inline}.site-footer{background:var(--ink);color:#a6b8ac;min-height:115px;padding:30px clamp(22px,5vw,72px);display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:.73rem;letter-spacing:.025em}.footer-brand{font-size:.68rem;letter-spacing:.18em;color:white;font-weight:800;white-space:nowrap}.footer-brand span{color:var(--red);font-size:1.5rem;vertical-align:middle;margin-right:9px}.toast{max-width:1250px;margin:22px auto -10px;padding:15px 22px;background:#e4f0e5;border-left:4px solid var(--green);color:var(--ink);font-weight:600;position:relative;z-index:2;border-radius:7px}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:32px;min-height:55px;padding:14px 25px;border-radius:4px;font-size:.8rem;font-weight:800;border:1px solid transparent;letter-spacing:.015em;transition:transform .2s ease,background .2s ease,border-color .2s ease;line-height:1.2;text-align:center}.btn:hover{transform:translateY(-2px)}.btn span:last-child{font-size:1.25rem;font-weight:400;line-height:1}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:#f66b50}.btn-dark{background:var(--ink);color:white}.btn-dark:hover{background:var(--ink-2)}.btn-outline{border-color:#aeb7aa;background:transparent;color:var(--ink)}.btn-outline:hover{border-color:var(--ink);background:#ecefe7}.btn-outline.light{border-color:#c2cdbc;color:white}.btn-outline.light:hover{background:#2c4b41}.btn-google{background:white;border:1px solid var(--line);color:var(--ink);width:100%;justify-content:space-between;margin-top:15px}.google-g{color:#4285f4;font-weight:800!important;font-size:1.25rem!important}.btn-small{min-height:37px;padding:9px 16px;font-size:.75rem}.full-width,.btn-wide{width:100%}.back-link{display:block;font-size:.78rem;color:var(--muted);font-weight:750;margin-bottom:32px}.back-link:hover{color:var(--red)}.text-link{color:var(--red-dark);font-weight:800;font-size:.8rem}
.hero-wrap{background:var(--ink);overflow:hidden}.hero{max-width:1580px;margin:auto;min-height:670px;display:grid;grid-template-columns:54% 46%;color:white}.hero-content{padding:clamp(72px,7.5vw,125px) 35px 80px clamp(22px,7vw,110px);position:relative;z-index:1}.hero h1{margin:28px 0 27px;max-width:760px;font-size:clamp(3.5rem,5.2vw,6rem);line-height:1.045}.hero h1 em{color:var(--gold)}.hero-content>p{color:#c3d0c6;max-width:470px;font-size:1.03rem;margin-bottom:38px}.hero-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap}.hero-footnote{color:#93a69b;font-size:.75rem}.hero-art{position:relative;min-height:600px;background:radial-gradient(ellipse at 55% 43%,#345545 0%,#1b332b 49%,#132a22 82%);isolation:isolate}.hero-art:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#fff5 1px,transparent 1px);background-size:29px 29px;opacity:.15}.orbit{border:1px solid #708c73;opacity:.6;border-radius:50%;position:absolute;top:14%;left:7%;width:83%;aspect-ratio:1}.orbit-two{inset:25% auto auto 19%;width:59%;border-color:#64816c}.star{position:absolute;color:#f4bf70;z-index:2}.star-a{font-size:65px;top:9%;right:12%;transform:rotate(15deg)}.star-b{font-size:35px;bottom:18%;left:12%}.star-c{font-size:30px;top:30%;left:11%;color:var(--red)}.parcel{position:absolute;width:260px;height:263px;left:50%;top:49%;transform:translate(-50%,-50%) rotate(-9deg);z-index:3;filter:drop-shadow(20px 36px 27px rgba(0,0,0,.24))}.parcel-body{width:250px;height:208px;background:#db583c;border-radius:5px;position:absolute;bottom:0;left:5px;box-shadow:inset -17px -8px 0 #c44530,inset 13px 6px 0 #e8694c}.parcel-top{position:absolute;width:280px;height:59px;top:31px;left:-10px;background:#f07857;z-index:4;transform:skew(-5deg);border-radius:4px;box-shadow:inset -10px -12px 0 #e35f43}.parcel-ribbon-v{position:absolute;width:47px;height:100%;left:102px;background:#f0c87a;box-shadow:inset -6px 0 0 #d7ad5f}.parcel-ribbon-h{position:absolute;width:100%;height:43px;top:105px;background:#f1c982;box-shadow:inset 0 -6px 0 #deb56a}.parcel-seal{position:absolute;top:91px;left:93px;background:#233d35;color:#f7d487;border-radius:50%;width:64px;height:64px;display:grid;place-items:center;font-family:var(--serif);font-size:2rem;z-index:5;border:3px solid #f4dcab}.art-caption{position:absolute;bottom:14%;right:8%;transform:rotate(-8deg);color:#d5dfd3;font-size:.68rem;letter-spacing:.15em;line-height:1.8;z-index:4}.art-ring{position:absolute;top:9%;left:8%;font-size:.62rem;letter-spacing:.2em;color:#9db5a0;z-index:4}.how-section{padding-top:115px;padding-bottom:130px;display:grid;grid-template-columns:33% 1fr;gap:50px}.how-section h2{margin-top:25px}.how-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.how-cards article{position:relative;padding:34px 23px 28px;background:var(--paper);border:1px solid #e0e2d8;min-height:280px}.how-number{color:#bfc4ba;font-size:.7rem;letter-spacing:.1em}.how-icon{font-size:2.6rem;color:var(--red);margin:36px 0 23px}.how-cards h3{font-size:1.2rem;margin-bottom:8px}.how-cards p{font-size:.83rem;color:#66716b;line-height:1.65}
.page-header{padding-top:70px;padding-bottom:54px}.page-header h1{margin:19px 0 20px;font-size:clamp(2.75rem,4.9vw,5.6rem)}.page-header>p{color:#718078;max-width:660px;font-size:1rem;margin:0}.dashboard-section{padding-bottom:115px}.section-title-row{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.section-title-row h2{font-size:1.45rem;margin:0}.group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.group-card{background:var(--paper);padding:32px;border:1px solid var(--line);min-height:340px;position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.group-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.group-card-top{display:flex;gap:12px;justify-content:space-between;align-items:center}.group-kicker{font-size:.64rem;letter-spacing:.1em;font-weight:800;color:#67746a}.tag{border:1px solid;border-radius:100px;padding:6px 10px;font-size:.65rem;letter-spacing:.045em;font-weight:800;text-transform:uppercase;white-space:nowrap}.tag-green{color:#26715c;background:#e6f3e9;border-color:#c7e0d2}.tag-gold{color:#996d18;background:#fff4d6;border-color:#f2dda6}.tag-muted{color:#6b736c;background:#ecefe9;border-color:#d9e0d8}.group-ornament{font-size:6.5rem;color:#e7b777;margin:15px 0 5px;line-height:1}.group-card h3{font-size:1.75rem;margin-bottom:10px}.group-card p{font-size:.85rem;color:var(--muted);margin-bottom:40px}.group-card-arrow{margin-top:auto;border-top:1px solid var(--line);padding-top:19px;font-size:.77rem;font-weight:800;display:flex;justify-content:space-between;align-items:center}.group-card-arrow b{font-size:1.4rem;font-weight:400;color:var(--red)}.empty-state{background:var(--paper);border:1px dashed #c3cabc;min-height:270px;padding:44px;text-align:center}.empty-state .empty-icon{font-size:3rem;color:var(--red)}.empty-state h3{margin-top:16px}.empty-state p{max-width:440px;margin:0 auto 25px;color:var(--muted)}
.event-grid,.recipient-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(290px,.85fr);gap:24px;padding-bottom:110px}.main-column,.side-column{display:flex;flex-direction:column;gap:23px;min-width:0}.panel{padding:35px;background:var(--paper);border:1px solid #e0e3d9;box-shadow:0 6px 30px #14252205;min-width:0}.panel h2{font-size:1.75rem;margin:13px 0 13px}.panel h3{font-size:1.48rem;margin:14px 0}.panel p{color:var(--muted);font-size:.88rem}.panel-heading,.panel-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.panel-icon{height:42px;width:42px;border-radius:50%;background:#f3e8dc;color:var(--red-dark);display:grid;place-items:center;font-size:1.3rem}.festive-panel{background:var(--ink);color:white;border-color:var(--ink);padding:46px;min-height:345px;position:relative;overflow:hidden}.festive-panel:after{content:'✳';position:absolute;right:-40px;bottom:-115px;color:#ffffff0a;font-size:380px;pointer-events:none}.festive-panel h2{font-size:clamp(2.1rem,3.2vw,3.2rem);margin-top:28px;max-width:480px}.festive-panel p{color:#c2d1c4;max-width:460px;font-size:.96rem;margin-bottom:30px}.festive-panel .btn{position:relative;z-index:1}.mini-star{color:var(--gold);font-size:2.2rem}.waiting-indicator{display:flex;align-items:center;gap:13px;font-size:.68rem;letter-spacing:.13em;font-weight:800;color:var(--gold)}.pulse-dot{width:9px;height:9px;background:var(--gold);border-radius:50%;box-shadow:0 0 0 6px #f2cb7e18;animation:pulse 2s infinite}@keyframes pulse{50%{box-shadow:0 0 0 13px #f2cb7e00}}.checklist-panel h3{margin-bottom:25px}.step{display:flex;align-items:center;gap:14px;padding:16px 0;border-top:1px solid var(--line)}.step-dot{width:20px;height:20px;border:2px solid #cad2ca;border-radius:50%;flex:none}.step-dot.complete{background:var(--green);border-color:var(--green);position:relative}.step-dot.complete:before{content:'✓';color:white;font-size:.78rem;position:absolute;left:2px;top:0}.step>div{flex:1}.step strong,.step small{display:block;font-size:.79rem}.step small{color:var(--muted);font-size:.71rem;margin-top:5px}.step-tick{color:var(--green);font-weight:800}.status-forms{border-top:1px solid var(--line)}.step-button{display:flex;text-align:left;gap:15px;align-items:center;border:none;border-bottom:1px solid var(--line);background:none;width:100%;padding:16px 0;font-weight:750;font-size:.79rem;color:var(--ink)}.step-button>span:first-child{font-size:1.5rem;color:#a3b3a5}.step-button.done>span:first-child{color:var(--green)}.step-button small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.step-button:hover{color:var(--red-dark)}.private-note{color:#8b928a!important;font-size:.7rem!important;line-height:1.5!important;display:block;margin-top:17px}.aside-quote{padding:35px 20px;color:#637568;font-family:var(--serif);font-size:1.9rem;font-style:italic}.aside-quote em{color:var(--red);font-style:italic}.aside-quote span{display:block;font-family:var(--sans);font-style:normal;letter-spacing:.2em;font-size:.65rem;margin-top:22px;font-weight:800}
.form-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(230px,.65fr);gap:35px;padding-bottom:110px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px;margin:30px 0}.field{display:flex;flex-direction:column;gap:9px;font-size:.76rem;font-weight:800;color:var(--ink)}.field>span{line-height:1.35}.field input,.field select,.field textarea,.form-stack>textarea,.form-stack>input,.form-stack>select,.question-card textarea{width:100%;border:1px solid #ccd3ca;background:#fff;color:var(--ink);border-radius:4px;padding:13px 14px;outline-offset:2px;font-size:.85rem;line-height:1.55;font-weight:400;resize:vertical}.field textarea:focus,.field input:focus,.field select:focus,.form-stack textarea:focus{border-color:var(--green)}.form-separator{height:1px;background:var(--line);margin:36px 0}.profile-form>.btn{margin-top:25px}.form-side{padding:25px 12px}.big-decoration{font-size:8rem;color:#e7b679;line-height:1}.form-side h3{font-family:var(--serif);font-size:2.2rem;font-weight:400;max-width:230px;margin-top:22px}.form-side p{color:var(--muted);font-size:.85rem}.sticky-note{padding:24px;margin-top:30px;background:#f1dfbc;color:#775c2d;transform:rotate(-4deg);font-size:.69rem;font-weight:750;letter-spacing:.08em}.sticky-note strong{display:block;font-family:var(--serif);font-size:2rem;margin-top:7px;letter-spacing:0}
.reveal-stage{min-height:750px;background:radial-gradient(ellipse at center 12%,#365547 0,#192f28 55%,#13251f 100%);max-width:none;color:white;position:relative;overflow:hidden}.reveal-stage:after{content:'✳';position:absolute;color:#fff2;font-size:370px;bottom:-170px;right:-50px;transform:rotate(20deg)}.reveal-back{color:#bed0c2;position:absolute;top:35px;left:clamp(22px,5vw,72px);z-index:2}.reveal-centre{max-width:620px;min-height:740px;margin:0 auto;text-align:center;padding:65px 18px 90px;position:relative;z-index:1}.reveal-centre h1{font-size:clamp(3.4rem,6vw,5.6rem);margin:20px 0}.reveal-centre h1 em{color:var(--gold)}.reveal-centre>p{color:#b3c7b8}.reveal-halo{width:98px;height:98px;margin:0 auto 26px;border:1px solid #5a7968;border-radius:50%;display:grid;place-items:center;box-shadow:0 0 0 18px #ffffff06,0 0 0 35px #ffffff03}.reveal-symbol{font-size:5rem;color:var(--gold);line-height:1}.name-wheel{height:104px;margin:36px 0 25px;border-top:1px solid #678070;border-bottom:1px solid #678070;display:grid;place-items:center;overflow:hidden;font-family:var(--serif);font-size:clamp(1.7rem,4vw,3.2rem);font-style:italic;color:#fff;transition:color .2s}.name-wheel.spinning{color:var(--gold)}.name-wheel.revealed{color:#f6d58f}.wheel-placeholder{color:#6a8a77;font-family:var(--sans);font-size:4rem}.reveal-disclaimer{font-size:.74rem;margin-top:19px;color:#9eb4a6!important}.result-actions{margin-top:30px}.result-actions .btn{min-width:270px}
.recipient-grid{padding-bottom:120px}.dossier{padding:42px}.dossier-header{display:flex;justify-content:space-between;gap:20px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px}.dossier-stamp{border:2px solid var(--red);color:var(--red);padding:7px 12px;transform:rotate(7deg);font-size:.6rem;font-weight:900;letter-spacing:.09em}.dossier h2{font-size:2.1rem;margin:34px 0}.dossier-row{padding:19px 0;border-top:1px solid var(--line)}.dossier-row strong{font-size:.77rem}.dossier-row p{margin:8px 0 0;white-space:pre-line;overflow-wrap:anywhere}.address-row{padding:23px 25px;background:#eff1e8;border:0;margin-top:20px}.address-content{white-space:pre-line}.question-card{border-top:1px solid var(--line);margin-top:18px;padding-top:17px}.question-card p{font-size:.84rem;color:var(--ink)}.question-card .answer{font-size:.78rem;color:var(--green);background:#e8eee9;padding:12px}.question-card button{margin-top:10px}.tiny-label{color:var(--red-dark);font-weight:800;font-size:.63rem;letter-spacing:.08em}.ideas-output{white-space:pre-line;font-size:.81rem;line-height:1.7;color:var(--ink-2);margin-top:18px;overflow-wrap:anywhere}.sent-questions{padding-top:20px}.sent-questions>strong{font-size:.78rem}.sent-questions small{font-weight:750}.sent-questions .question-card p{font-size:.75rem;color:var(--muted)}
.auth-stage{display:grid;grid-template-columns:1fr 1fr;gap:8vw;max-width:1120px;min-height:670px;align-items:center;padding-top:70px;padding-bottom:90px}.auth-illustration{min-height:450px;padding:40px 0}.auth-circle{width:165px;height:165px;border:1px dashed #c9c5b7;border-radius:50%;display:grid;place-items:center;font-size:6.5rem;color:var(--red);margin-bottom:44px}.auth-illustration h1{font-size:clamp(3.6rem,5.5vw,5.3rem);margin:20px 0}.auth-illustration p{max-width:360px;color:var(--muted)}.auth-card{background:var(--paper);padding:50px 45px;border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card-star{font-size:3rem;color:var(--red);margin-bottom:22px}.auth-card h2{font-size:2.4rem;margin:12px 0 17px}.auth-card>p{color:var(--muted);font-size:.85rem}.auth-small{font-size:.72rem!important;margin-top:25px}.or{font-size:.7rem;color:var(--muted);text-align:center;margin:25px 0;position:relative}.or:before,.or:after{content:'';position:absolute;height:1px;width:33%;background:var(--line);top:50%}.or:before{left:0}.or:after{right:0}.form-stack{display:flex;flex-direction:column;gap:15px}.form-stack .btn{width:100%}.notice{padding:12px 14px;background:#edf1e7;color:#35594b!important;font-size:.78rem!important;border-left:3px solid var(--green)}
.join-stage{text-align:center;padding-top:90px;padding-bottom:130px;max-width:760px}.join-envelope{font-size:5rem;color:var(--red);margin-bottom:25px}.join-stage h1{font-size:4.5rem;margin:20px 0}.join-stage>p{color:var(--muted)}.join-facts{display:grid;grid-template-columns:repeat(3,1fr);margin:40px 0;gap:10px}.join-facts div{padding:22px 5px;background:var(--paper);border:1px solid var(--line)}.join-facts span{display:block;font-size:.6rem;font-weight:800;letter-spacing:.14em;color:var(--muted)}.join-facts strong{display:block;font-size:1.5rem;margin-top:8px;text-transform:capitalize}.join-stage .btn{min-width:260px}.error-stage{text-align:center;padding-top:100px;padding-bottom:140px}.error-star{display:block;font-size:7rem;color:var(--red)}.error-stage h1{margin:20px auto;max-width:800px}.error-stage p{color:var(--muted);max-width:620px;margin:0 auto 35px}
.admin-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:48px;padding-bottom:100px}.admin-group-list{display:flex;flex-direction:column;gap:10px}.admin-group{background:var(--paper);border:1px solid var(--line);padding:22px;display:flex;align-items:center;gap:16px;justify-content:space-between}.admin-group>div{flex:1}.admin-group strong,.admin-group small{display:block}.admin-group small{color:var(--muted);margin-top:7px}.admin-create h2{font-size:2rem;margin:10px 0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:17px}.check-row{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:var(--ink)}.check-row input{accent-color:var(--red);margin-top:2px}.admin-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,.82fr);gap:25px;padding-bottom:120px}.admin-title-status{display:inline-flex;vertical-align:middle;margin-left:22px;transform:translateY(-8px);letter-spacing:0}.copy-row{display:flex;gap:10px;min-width:0}.copy-row input{flex:1;min-width:0;background:#edf1e9;border:1px solid #cfdbd1;padding:13px;font-size:.8rem}.copy-button{padding:0 18px;background:var(--ink);color:white;border:none;font-size:.77rem;font-weight:800}.top-gap{margin-top:28px}.member-count{font-size:.7rem;letter-spacing:.1em;font-weight:800;color:var(--red-dark);padding-top:8px;white-space:nowrap}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;font-size:.8rem;white-space:nowrap}.table-wrap th{text-align:left;color:var(--muted);font-size:.63rem;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line);padding:13px 10px}.table-wrap td{border-bottom:1px solid var(--line);padding:15px 10px}.table-wrap td:not(:first-child){text-align:center;color:var(--green);font-weight:800}.table-wrap td strong,.table-wrap td small{display:block}.table-wrap td small{font-size:.7rem;color:var(--muted);font-weight:400;margin-top:5px}.exclusion-form{margin:25px 0;grid-template-columns:1fr 1fr}.exclusion-form .btn{grid-column:1/-1}.exclusion-list{border-top:1px solid var(--line);font-size:.8rem}.exclusion-list>div{padding:14px 0;border-bottom:1px solid var(--line)}.exclusion-list span{color:var(--red-dark);margin:0 7px}.remove-small{border:none;background:none;color:var(--red-dark);font-size:.72rem;text-decoration:underline;margin-left:10px}.action-panel{background:#f2dfb9}.action-panel p{color:#826e4f}.action-panel h3{font-size:1.8rem}.audit-list{display:flex;flex-direction:column;gap:11px;max-height:280px;overflow-y:auto}.audit-list div{border-bottom:1px solid var(--line);padding-bottom:11px}.audit-list strong,.audit-list small{display:block;font-size:.72rem}.audit-list small{color:var(--muted);margin-top:4px;line-height:1.4}.emergency-answer{padding:15px;margin-top:20px;border:2px solid var(--red);font-weight:800;font-size:.9rem;color:var(--red-dark)}
@media(max-width:1060px){.hero{grid-template-columns:57% 43%}.parcel{transform:translate(-50%,-50%) scale(.84) rotate(-9deg)}.how-section{grid-template-columns:1fr}.how-section h2{max-width:550px}.admin-grid{grid-template-columns:1fr}.admin-grid>.side-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.admin-grid>.side-column .panel{min-width:0}.admin-layout{gap:24px}}
@media(max-width:760px){.site-header{height:77px}.brand{gap:10px}.brand-product{font-size:.61rem}.brand-stack strong{font-size:1rem}.brand-stack small{font-size:.44rem}.brand-emblem{font-size:2rem}.brand-slash{height:25px}.site-nav{gap:14px;font-size:.7rem}.site-nav .avatar{display:none}.site-footer{flex-direction:column;justify-content:center;text-align:center;gap:12px;padding:35px}.hero{display:flex;flex-direction:column}.hero-content{padding:70px 24px 44px}.hero h1{font-size:clamp(3.3rem,10.5vw,5rem)}.hero-art{height:420px;min-height:420px}.hero-art .orbit{width:58%;left:21%;top:7%}.hero-art .orbit-two{width:40%;left:30%;top:20%}.parcel{transform:translate(-50%,-50%) scale(.7) rotate(-9deg)}.how-section{padding-top:75px;padding-bottom:85px}.how-cards{grid-template-columns:1fr}.how-cards article{min-height:190px;padding:28px}.how-icon{margin:15px 0}.page-header{padding-top:55px}.page-header h1{font-size:clamp(2.7rem,9vw,4.2rem)}.group-grid,.event-grid,.recipient-grid,.form-layout,.admin-layout,.auth-stage{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.group-grid{gap:15px}.group-card{min-height:250px}.group-ornament{font-size:4rem;margin:7px 0}.event-grid,.recipient-grid{gap:17px}.panel{padding:26px}.festive-panel{padding:35px 28px;min-height:310px}.festive-panel:after{font-size:250px;right:-40px;bottom:-60px}.auth-stage{gap:0;padding-top:35px}.auth-illustration{min-height:250px;padding:20px 0}.auth-circle{width:86px;height:86px;font-size:4rem;margin-bottom:23px}.auth-illustration h1{font-size:3.7rem}.auth-card{padding:32px 26px}.form-side{display:none}.reveal-centre{padding-top:85px}.reveal-stage{min-height:780px}.join-stage{padding-top:70px}.join-stage h1{font-size:3.5rem}.admin-grid>.side-column{display:flex}.admin-title-status{display:block;margin:15px 0 0;transform:none}.table-wrap{margin-left:-9px;margin-right:-9px}.field-pair{grid-template-columns:1fr}}
@media(max-width:420px){.brand-product{display:none}.brand-slash{display:none}.site-nav{gap:10px}.hero h1{font-size:3rem}.btn{gap:16px}.join-facts span{font-size:.5rem}.join-facts strong{font-size:1.1rem}.copy-row{flex-direction:column}.copy-row button{padding:15px}.panel h2{font-size:1.5rem}.reveal-centre h1{font-size:3.2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behaviour:auto!important;animation:none!important;transition:none!important}}

.safe-external{color:var(--red-dark);text-decoration:underline;overflow-wrap:anywhere}.safe-external:hover{color:var(--red)}
.reveal-sound{border:0;background:none;color:#b5c7b9;text-decoration:underline;font-size:.73rem;letter-spacing:.03em;padding:8px}.reveal-sound:hover{color:var(--gold)}

/* Gift clues, protected photos and the anonymous help-request flow */
.gift-ideas-panel{margin-top:1.5rem}
.gift-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin:1.35rem 0}
.gift-card{border:1px solid #e1e3dd;border-radius:14px;overflow:hidden;background:#fff;min-width:0}
.gift-photo{aspect-ratio:4/3;background:#f3f3ec;overflow:hidden}
.gift-photo img{width:100%;height:100%;object-fit:cover;display:block}
.gift-placeholder{height:125px;display:grid;place-items:center;background:#edf4ed;color:#28634c;font-size:3rem}
.gift-card-content{padding:1rem;display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}
.gift-card-content strong{font-size:1rem;overflow-wrap:anywhere}
.gift-card-content p{margin:0;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}
.gift-price{font-size:.75rem;font-weight:750;letter-spacing:.02em;color:#356b52}
.gift-card-content a{overflow-wrap:anywhere}
.gift-upload-form{margin-top:1.6rem;padding-top:1.6rem;border-top:1px solid #e2e5dd}
.gift-upload-form h3{margin:0}
.gift-upload-form input[type=file]{max-width:100%;font-size:.86rem;padding:.7rem;background:white}
.gift-upload-form .field small{font-size:.75rem;display:block;margin-top:.45rem;color:#647168}
.upload-status:not(:empty){border:1px solid #d7e2d0;background:#f4f8ef;padding:.7rem 1rem;border-radius:8px}
.help-alert{border:1px solid #e5bd68;background:#fff8e5}
.help-alert-prominent{padding:1.5rem;border-radius:13px;margin-bottom:1.35rem}
.help-alert h2,.help-alert-prominent h2{color:#244831;margin:.55rem 0}
.help-status{font-weight:750;border-radius:9px;padding:.85rem 1rem;margin:1rem 0}
.help-status.waiting{background:#fff4d8;color:#674e20}
.help-status.ready{background:#e7f4e9;color:#216340}
.ai-panel .form-separator{margin:1.35rem 0}
.ai-panel button[disabled]{opacity:.6;cursor:not-allowed}
@media(max-width:650px){.gift-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.gift-card-content{padding:.8rem}}
@media(max-width:390px){.gift-gallery{grid-template-columns:1fr}}

/* Organiser-only historical results import and identity review */
.history-panel{margin-top:25px}
.history-panel h3{font-size:1.35rem;margin:0 0 .75rem}
.history-panel p{color:var(--muted)}
.history-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:25px 0}
.history-summary span{display:flex;flex-direction:column;gap:8px;background:#f3f5ed;border:1px solid #e0e3d9;border-radius:9px;padding:15px 12px;font-size:.69rem;line-height:1.45;color:#49584e}
.history-summary strong{font-size:1.65rem;color:#1e4734;line-height:1;font-weight:850}
.history-import-form{margin:30px 0 23px;padding:23px;background:#f8faf5;border:1px solid var(--line);border-radius:12px}
.history-import-form textarea{white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.76rem;max-width:100%;resize:vertical}
.history-import-form input[type=file]{padding:.7rem;font-size:.75rem;max-width:100%}
.historic-records{margin:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}
.historic-records summary{font-weight:750;cursor:pointer;color:#305344;font-size:.85rem}
.historic-records .table-wrap{margin-top:15px;max-height:340px;overflow:auto}
.history-matching{margin:27px 0 15px}
.historic-name-list{display:grid;gap:9px;max-height:480px;overflow:auto;padding:4px}
.historic-name-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,1.2fr);gap:12px;align-items:center;border:1px solid #e0e4db;background:#fafbf9;padding:13px;border-radius:8px}
.historic-name-row strong,.historic-name-row small{display:block;overflow-wrap:anywhere}
.historic-name-row strong{font-size:.78rem;color:#1e4332}
.historic-name-row small{font-size:.66rem;color:#6d776f;margin-top:5px;line-height:1.4}
.historic-name-row select{width:100%;min-width:0;padding:10px 9px;border:1px solid #c9d4ca;font-size:.73rem;color:#213b30;background:#fff;border-radius:5px}
.history-final-check{margin-top:27px;padding:22px;background:#f6eacf;border:1px solid #e7d7b3;border-radius:11px}
.history-final-check p{color:#6b5739}
.history-final-check .check-row{margin:12px 0}
.history-final-check button{max-width:430px}
@media(max-width:760px){.history-summary{grid-template-columns:1fr 1fr}.historic-name-row{grid-template-columns:1fr}}
@media(max-width:400px){.history-summary{grid-template-columns:1fr}}

/* Bird Secret Santa 2026 - explicit opt-in and private Santa portrait gallery */
.flock-message-label{margin-top:19px}
.flock-message-label textarea{white-space:pre-wrap;resize:vertical;min-height:155px;font-size:.8rem;line-height:1.55;background:#f6f8f3}
.opt-in-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:26px}
.opt-in-actions form{display:inline-flex;margin:0}
.join-stage h2{font-size:1.25rem;margin:15px 0 10px}
.join-confirmed{padding:19px 22px;border:1px solid #c5ddc5;background:#ecf7ed;margin:24px auto 17px;max-width:460px;text-align:center;border-radius:12px}
.join-confirmed>span{display:block;color:#28774a;font-size:2.1rem}
.join-confirmed strong{font-size:1.2rem;color:#255439}
.join-confirmed p{margin:8px 0 0;color:#426650}
.roster-teaser{border-left:5px solid #a92529}
.roster-section{padding-bottom:110px}
.roster-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 28px}
.roster-header h2{font-size:clamp(1.5rem,3vw,2.5rem);margin:9px 0}
.roster-header p{color:#58655d;font-size:.88rem;margin:0}
.roster-badge{display:inline-block;padding:11px 15px;border-radius:50px;background:#dfebe2;color:#23583f;font-size:.68rem;font-weight:800;letter-spacing:.07em;white-space:nowrap}
.santa-roster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}
.santa-person-card{min-width:0;border-radius:15px;overflow:hidden;background:#fff;box-shadow:0 12px 30px rgba(20,44,30,.07);border:1px solid #e0e5de}
.santa-person-photo{width:100%;aspect-ratio:4/5;background:#e4eee4;overflow:hidden;position:relative}
.santa-person-photo img,.santa-upload-image img{width:100%;height:100%;object-fit:cover;display:block}
.santa-person-details{padding:22px 20px 24px}
.santa-person-details h3{font-size:1.35rem;margin:12px 0 0;line-height:1.15;overflow-wrap:anywhere}
.roster-status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2f9a63;margin-right:4px}
.santa-photo-fallback{height:100%;width:100%;min-height:130px;background:radial-gradient(circle at 50% 28%,#cfebd9,#61856f 75%,#244f3d);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px}
.santa-photo-fallback span{font-size:clamp(3rem,6vw,5.8rem);line-height:1}
.santa-photo-fallback small{font-size:.62rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase;color:#f9f6e9;text-align:center;padding:0 10px}
.roster-privacy{font-size:.8rem;color:#5c6d62;margin:29px 0 18px}
.santa-admin-panel{margin-top:23px}
.santa-upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:25px}
.santa-upload-card{border:1px solid #dde4db;background:#f9fbf7;padding:14px;border-radius:13px;min-width:0}
.santa-upload-card>strong{display:block;font-size:.91rem;margin:14px 0 5px;overflow-wrap:anywhere}
.santa-upload-image{width:100%;aspect-ratio:4/4.1;border-radius:9px;overflow:hidden;background:#e3eadf}
.santa-upload-card .photo-upload-state{display:block;color:#56705d;font-size:.7rem;margin:7px 0 12px;line-height:1.4}
.santa-upload-card input[type=file]{font-size:.72rem;max-width:100%;padding:9px 2px;background:transparent}
.santa-upload-card .btn{width:100%;font-size:.7rem;padding:12px 9px}
.santa-upload-card .remove-small{margin:13px 0 0}
.santa-upload-card .upload-status{font-size:.72rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.withdraw-form{margin-top:24px;padding-top:18px;border-top:1px solid #dfe6dd}
.withdraw-form .remove-small{margin:0;text-align:left}
@media(max-width:1090px){.santa-roster-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.santa-roster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.santa-upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roster-header{display:block}.roster-badge{margin-top:15px}}
@media(max-width:460px){.santa-roster-grid{gap:10px}.santa-person-details{padding:15px 12px 17px}.santa-person-details h3{font-size:1.02rem}.santa-person-details .tiny-label{font-size:.54rem}.santa-upload-grid{grid-template-columns:1fr}.opt-in-actions{flex-direction:column;align-items:stretch}.opt-in-actions form{display:block}.opt-in-actions button{width:100%}}
.santa-person-card:nth-child(3n+2) .santa-photo-fallback{background:radial-gradient(circle at 50% 28%,#eec5b9,#ae4d48 76%,#5b2932)}
.santa-person-card:nth-child(3n+3) .santa-photo-fallback{background:radial-gradient(circle at 50% 28%,#f0e1a7,#99814b 76%,#415a41)}

/* Official vector artwork from bird.co.uk; retain the original proportions. */
.brand-logo{display:block;width:118px;height:auto;flex-shrink:0}.parcel-seal img{display:block;width:32px;height:40px;object-fit:contain}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{display:block;width:24px;height:30px;object-fit:contain}@media(max-width:760px){.brand-logo{width:94px}}

/* The private photo-wheel reveal. SVG artwork scales with the full nice list. */
[hidden]{display:none!important}
.photo-reveal-stage{min-height:100vh;background:radial-gradient(ellipse at 50% 36%,#3c6856 0,#17392f 42%,#112620 78%)}
.photo-reveal-centre{max-width:820px;padding:78px 22px 65px}
.photo-reveal-centre h1{font-size:clamp(2.8rem,5.4vw,4.5rem);margin:18px auto 20px;max-width:700px}
.photo-reveal-centre>p{max-width:580px;margin-left:auto;margin-right:auto}
.wheel-theatre{width:min(570px,100%);aspect-ratio:1;margin:32px auto 10px;position:relative;isolation:isolate;scroll-margin-top:40px}
.photo-wheel{width:100%;height:100%;display:block;overflow:visible;filter:drop-shadow(0 20px 35px #0005)}
.wheel-rim{fill:#eec87b;stroke:#ffebb9;stroke-width:4}
.wheel-sector{stroke:#e4bc6f88;stroke-width:1;fill:#284c3e}
.wheel-colour-1 .wheel-sector{fill:#784537}.wheel-colour-2 .wheel-sector{fill:#3b6251}.wheel-colour-3 .wheel-sector{fill:#8a6241}
.wheel-photo-ring{fill:#17392f;stroke:#f4d791;stroke-width:2}
.wheel-person-name{fill:#fff5da;font-weight:700;font-family:var(--sans)}
.wheel-inner-ring{fill:#142c24;stroke:#d7b36e;stroke-width:3}
.wheel-pointer{position:absolute;top:-4%;left:50%;transform:translateX(-50%);z-index:3;color:#ffdb92;font-size:clamp(28px,5vw,44px);text-shadow:0 3px 5px #0008;line-height:1}
.wheel-spotlight{position:absolute;inset:29.5%;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#142c24;box-shadow:0 0 0 5px #f4d08c22,0 0 26px #0006}
#wheel-portrait{width:100%;height:100%;object-fit:cover}
.wheel-initial{font-size:clamp(2rem,7vw,4.5rem);font-family:var(--serif);color:var(--gold)}
.wheel-centre-label{position:absolute;bottom:9%;left:0;right:0;background:#142c24c9;color:var(--gold);padding:5px 0;font-size:clamp(.45rem,1.2vw,.65rem);letter-spacing:.22em;font-weight:800}
.wheel-spinning .wheel-pointer{animation:wheel-tick .16s infinite alternate}
@keyframes wheel-tick{to{transform:translateX(-50%) rotate(-10deg)}}
.wheel-revealed .wheel-spotlight{box-shadow:0 0 0 6px #f4d08c88,0 0 50px #f4d08c66}
.wheel-caption{min-height:102px;margin-top:20px}
.wheel-caption h2{font-family:var(--serif);font-weight:400;font-style:italic;color:#fff5d9;font-size:clamp(2.1rem,5vw,3rem);margin:10px 0 0}
.photo-reveal-centre #wheel-status{font-size:.85rem;min-height:2.8em;color:#d6e2d9;max-width:550px;line-height:1.5}
.photo-reveal-centre .btn-wide{max-width:420px;min-height:60px;font-size:.95rem}
.reveal-options{display:flex;justify-content:center;gap:20px;margin-top:14px}
.wheel-confetti{position:absolute;inset:-12%;pointer-events:none;overflow:hidden;z-index:4}
.confetti-piece{position:absolute;width:9px;height:16px;top:-8%;background:var(--gold);animation:wheel-confetti 2.5s cubic-bezier(.16,.55,.7,.93) both}
.confetti-1{background:#ed6a52}.confetti-2{background:#fff6d9}.confetti-3{background:#8bccac}
@keyframes wheel-confetti{0%{opacity:0;transform:translate(0,0) rotate(0)}15%{opacity:1}100%{opacity:0;transform:translate(var(--confetti-drift),650px) rotate(650deg)}}
.delivery-prompt{border-left:4px solid var(--red);background:#fff8e9;margin-bottom:22px}
.delivery-prompt h2{font-size:clamp(1.6rem,3vw,2.3rem)}
.delivery-card-notice{display:block;margin-top:18px;color:var(--red-dark);font-size:.8rem;font-weight:750}
#delivery{scroll-margin-top:28px}
@media(max-width:760px){.photo-reveal-centre{padding-top:105px}.wheel-theatre{margin-top:35px}.wheel-caption{min-height:88px}.photo-reveal-centre h1{font-size:2.8rem}.photo-reveal-centre .result-actions .btn{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.wheel-spinning .wheel-pointer,.confetti-piece{animation:none}.photo-reveal-stage *{scroll-behavior:auto!important;transition:none!important}}

/* Keep taking part and organising visibly separate without changing the member pages. */
.area-switcher{background:#e8ece3;border-bottom:1px solid #ced7c8;padding:18px 0}
.area-switcher-inner{display:flex;align-items:center;gap:32px}
.area-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;flex:0 0 360px;padding:5px;background:#d8e0d2;border-radius:10px}
.area-tab{display:flex;flex-direction:column;gap:5px;padding:12px 18px;border-radius:6px;color:#516354;transition:background .15s}
.area-tab strong{font-size:.86rem}.area-tab span{font-size:.69rem}
.area-tab:hover{background:#edf1e8}.area-tab[aria-current="page"]{background:var(--ink);color:var(--paper);box-shadow:0 2px 5px #12251a20}
.area-tab[aria-current="page"] span{color:var(--gold)}
.area-tab:focus-visible{outline:3px solid var(--red);outline-offset:3px}
.area-description{margin:0;font-size:.81rem;line-height:1.5;color:#53654f}
.area-description strong,.area-description span{display:block}.area-description strong{color:var(--ink);margin-bottom:3px}
@media(max-width:760px){.area-switcher{padding:14px 0}.area-switcher-inner{display:block}.area-tabs{width:100%;max-width:440px}.area-tab{padding:11px 14px}.area-description{margin-top:12px;font-size:.75rem}.area-description span{max-width:450px}}
