:root{color:#17221d;background:#f7f3eb;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}.page-shell{display:grid;align-content:center;gap:2rem;min-height:100vh;max-width:46rem;margin:0 auto;padding:3rem 1.5rem}.hero{text-align:center}.eyebrow{margin:0 0 .5rem;color:#8a4b2c;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:.75rem;color:#28533c;font-family:Georgia,serif;font-size:clamp(4rem,14vw,7.5rem);font-weight:500;letter-spacing:-.06em;line-height:.9}.lead{max-width:34rem;margin:0 auto;color:#58665f;font-size:1.1rem;line-height:1.65}.card{min-height:9rem;padding:2rem;border:1px solid #e0d7ca;border-radius:1rem;background:#fffdf9;box-shadow:0 1rem 3rem #292b2314;text-align:center}.card p{color:#58665f;line-height:1.6}.card h2{margin-bottom:.5rem;font-family:Georgia,serif;font-size:1.8rem;font-weight:500}.event-name{color:#8a4b2c!important;font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}form{display:grid;gap:.75rem;margin-top:1.5rem;text-align:left}label{color:#3f4e46;font-size:.9rem;font-weight:700}input,select{width:100%;padding:.8rem .9rem;border:1px solid #cfc6b9;border-radius:.5rem;background:#fffdf9;color:inherit;font:inherit}textarea{width:100%;min-height:5.5rem;padding:.8rem .9rem;border:1px solid #cfc6b9;border-radius:.5rem;resize:vertical;background:#fffdf9;color:inherit;font:inherit}input:focus,textarea:focus{border-color:#28533c;outline:3px solid rgb(40 83 60 / 16%)}button{padding:.8rem 1rem;border:1px solid transparent;border-radius:.5rem;background:#28533c;color:#fff;font:inherit;font-weight:700}button:disabled{cursor:not-allowed;opacity:.55}.primary{margin-top:.5rem}.secondary{margin-top:1.25rem;background:transparent;border-color:#28533c;color:#28533c}.mode-selector{display:flex;gap:.5rem;justify-content:center;margin:1.5rem 0 0}.mode-selector button{padding:.5rem .7rem;border-color:#d7cec1;background:#f4efe7;color:#58665f;font-size:.85rem}.mode-selector button.selected{border-color:#28533c;background:#e5eee8;color:#28533c}.helper{font-size:.95rem}.error{margin-bottom:0;color:#a52e2e!important;font-size:.9rem}.reveal-intro{margin-top:2rem;margin-bottom:.25rem}.recipient{color:#28533c;font-size:clamp(2.4rem,8vw,4.5rem)!important}.lookup-key{display:grid;gap:.35rem;margin-top:1.5rem;padding:1rem;border-radius:.7rem;background:#f4efe7;color:#3f4e46;text-align:left}.lookup-key span{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.lookup-key strong{font-family:ui-monospace,monospace;font-size:1rem;letter-spacing:.04em;overflow-wrap:anywhere}.lookup-key small{color:#58665f;line-height:1.5}.wish-list{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e6ded3;text-align:left}.wish-list h3{margin:0 0 .5rem;color:#28533c;font-family:Georgia,serif;font-size:1.5rem;font-weight:500}.wish-list>.helper{margin-bottom:1rem}.my-wishes,.other-wishes{margin-top:1.25rem;padding:1rem;border:1px solid #e9dcc7;border-radius:.85rem;background:#fffcf4b8}.other-wishes{background:#f4faf4b3}.wish-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.65rem}.wish-section-heading h4{margin:0;color:#145548;font-family:Georgia,serif;font-size:1.18rem;font-weight:500}.wish-section-heading span{color:#7b8274;font-size:.78rem}.empty-wishes{margin:.5rem 0 0;color:#68776c!important;font-size:.9rem}.wish-items{display:grid;gap:.65rem;margin:0;padding:0;list-style:none}.wish-items li{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid #e6ded3}.wish-items li div{display:grid;gap:.2rem}.wish-items li span{color:#58665f;line-height:1.5;white-space:pre-wrap}.wish-items.mine li{align-items:center;padding:.7rem 0}.wish-items.mine li>span{color:#284b41;font-weight:600}.wish-form{margin-top:1.25rem}.wish-form textarea{margin-top:.45rem}.wish-list-items{margin-top:.9rem;padding:.85rem;border:1px solid #eadfce;border-radius:.7rem;background:#ffffff7a}.wish-list-items .wish-section-heading{margin-bottom:.2rem}.wish-list-items .wish-items{gap:0}.wish-content{width:100%}.wish-content>span{color:#284b41!important;font-weight:600}.wish-comments{display:grid;gap:.35rem;margin-top:.6rem}.wish-comments p{margin:0;padding:.45rem .55rem;border-left:3px solid #e1b94c;background:#fff9e9;color:#58665f;font-size:.84rem;line-height:1.4}.wish-comments strong{color:#9d352f}.wish-comment-actions{display:inline-flex;gap:.45rem;margin-left:.45rem}.wish-comment-actions .text-button{font-size:.78rem}.wish-comment-edit{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.45rem .55rem;border-left:3px solid #e1b94c;background:#fff9e9}.wish-comment-edit input{flex:1 1 13rem;min-width:0;padding:.45rem .55rem;font-size:.84rem}.wish-comment-form{display:flex;grid-template-columns:1fr auto;align-items:center;gap:.5rem;margin-top:.65rem}.wish-comment-form input{min-width:0;padding:.5rem .6rem;font-size:.85rem}.wish-comment-form .text-button{white-space:nowrap}.additional-list-form{margin-top:1rem;padding-top:1rem;border-top:1px dashed #dac7a8}.additional-list-form>div{display:flex;gap:.65rem;align-items:center;margin-top:.45rem}.additional-list-form .secondary{margin:0;white-space:nowrap}.wish-form-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.wish-form-footer small{color:#718078}.wish-form-footer .primary{margin:0}.admin-wish-detail{margin-top:1rem}.admin-wish-detail>h3{margin:0 0 .75rem;color:#145548;font-family:Georgia,serif;font-size:1.2rem;font-weight:500}.admin-wish-list-actions,.admin-wish-item-actions{display:inline-flex;flex-wrap:wrap;gap:.45rem}.admin-wish-list-actions .text-button,.admin-wish-item-actions .text-button{font-size:.8rem}.admin-wish-edit{width:100%;margin:0}.admin-wish-edit textarea{min-height:4.5rem}.admin-wish-form,.admin-list-form{margin-top:1rem;padding-top:1rem;border-top:1px dashed #dac7a8}.event-list{display:grid;gap:.75rem;padding:0;list-style:none;text-align:left}.event-list li{display:flex;justify-content:space-between;gap:1rem;padding-bottom:.75rem;border-bottom:1px solid #e6ded3}.event-list span{color:#58665f;font-size:.9rem}.admin-link a{color:inherit}.admin-shell{min-height:100vh;background:#f7f3eb}.admin-header{display:flex;align-items:center;justify-content:space-between;max-width:76rem;margin:0 auto;padding:1.25rem 1.5rem;color:#58665f;font-size:.9rem}.wordmark{color:#28533c;font-family:Georgia,serif;font-size:2rem;text-decoration:none}.admin-content{max-width:76rem;margin:0 auto;padding:.5rem 1.5rem 3rem}.creator,.event-sidebar,.event-workspace{border:1px solid #e0d7ca;border-radius:.9rem;background:#fffdf9;box-shadow:0 .5rem 2rem #292b230d}.creator{padding:1.5rem}.creator h1,.workspace-title h1{margin-bottom:0;color:#28533c;font-family:Georgia,serif;font-size:2rem;font-weight:500}.inline-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:1rem;margin-top:1rem}.inline-form label{display:grid;gap:.4rem}.inline-form select{width:100%;min-height:2.8rem;padding:.65rem .75rem;border:1px solid #cfc6b9;border-radius:.5rem;background:#fffdf9;color:inherit;font:inherit}.inline-form .check-label{display:flex;align-items:center;gap:.55rem;min-height:2.8rem;padding-bottom:.2rem;font-size:.85rem}.check-label input{width:auto}.direct-exchange-rule{display:grid!important;grid-template-columns:auto 1fr;align-items:start!important;gap:.2rem .55rem!important}.direct-exchange-rule input{grid-row:span 2;margin-top:.2rem}.direct-exchange-rule small{grid-column:2;color:#6e7d72;font-size:.75rem;font-weight:500;line-height:1.35}.admin-layout{display:grid;grid-template-columns:17rem 1fr;gap:1.25rem;margin-top:1.25rem}.event-sidebar{padding:1.25rem}.event-sidebar h2,.manager h2,.draw-actions h2{margin:0 0 1rem;color:#28533c;font-family:Georgia,serif;font-weight:500}.event-sidebar ul,.data-list{display:grid;gap:.5rem;margin:0;padding:0;list-style:none}.event-button{display:grid;width:100%;gap:.2rem;padding:.75rem;border-color:transparent;background:transparent;color:#3f4e46;text-align:left}.event-button:hover,.event-button.selected{border-color:#c5d6ca;background:#eaf1eb;color:#28533c}.event-button span,.data-list span{color:#718078;font-size:.8rem}.event-workspace{min-width:0;padding:1.5rem}.workspace-title{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1.25rem;border-bottom:1px solid #e6ded3}.workspace-title .secondary{margin:0;white-space:nowrap}.empty-workspace,.loading{color:#718078;text-align:center}.manager,.draw-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e6ded3}.manager h2 small{color:#718078;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.85rem;font-weight:500}.data-list li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid #eee8df}.data-list li>strong{flex:1}.text-button{padding:0;border:0;background:transparent;color:#9a4434;font-size:.82rem;font-weight:600}.text-button:hover{color:#762d21;text-decoration:underline}.assignment-summary{display:grid;gap:.35rem;flex:1}.assignment-summary details{width:fit-content}.assignment-summary summary{cursor:pointer;color:#28533c;font-size:.9rem}.assignment-recipient{display:block;margin-top:.4rem;color:#8a4b2c!important;font-size:.95rem!important}.participant-form{grid-template-columns:minmax(12rem,1fr) minmax(12rem,1fr) minmax(14rem,1fr) auto}.exclusion-form{grid-template-columns:repeat(3,minmax(10rem,1fr)) auto auto}.validation{display:grid;gap:.25rem;margin-top:1.25rem;padding:1rem;border-radius:.65rem}.validation.valid{background:#eaf1eb;color:#28533c}.validation.invalid{background:#fae9e5;color:#8d3424}.validation span{font-size:.9rem}.draw-actions .primary{margin:0}.draw-actions .check-label{display:flex;align-items:center;gap:.55rem;margin:1rem 0}.email-preview{margin-top:1rem;padding:1.25rem;border:1px solid #c5d6ca;border-radius:.7rem;background:#f5faf6}.email-preview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.email-preview h3{margin:0 0 .35rem;color:#28533c;font-family:Georgia,serif;font-size:1.3rem;font-weight:500}.email-preview p{margin-bottom:.75rem;color:#3f4e46;line-height:1.55}.email-preview pre{margin:0;padding:1rem;border:1px solid #e0d7ca;border-radius:.45rem;background:#fffdf9;color:#17221d;font-family:inherit;font-size:.92rem;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.action-row .secondary{margin:0}.message-composer form{max-width:42rem}.recipient-picker{display:grid;gap:.65rem;padding:.9rem;border:1px solid #e6d6bc;border-radius:.75rem;background:#fff9ebb8}.recipient-picker .wish-section-heading{margin:0}.recipient-picker .check-label{display:flex;align-items:center;gap:.45rem;font-size:.82rem}.recipient-picker .check-label input,.recipient-option input{width:auto}.recipient-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.5rem}.recipient-option{display:flex;align-items:flex-start;gap:.55rem;padding:.6rem;border:1px solid #eadfce;border-radius:.6rem;background:#ffffffa6;font-weight:500}.recipient-option span{display:grid;gap:.08rem}.recipient-option small{color:#718078;font-size:.75rem;overflow-wrap:anywhere}.message-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem}.message-footer small{color:#718078}.message-footer .primary{margin:0}.regeneration{border-color:#efd3ca}.danger{background:#9a4434}@media(max-width:800px){.admin-layout{grid-template-columns:1fr}.inline-form,.participant-form,.exclusion-form{grid-template-columns:1fr 1fr}.inline-form .primary,.inline-form .secondary{width:fit-content}}@media(max-width:520px){.admin-header,.admin-content{padding-right:1rem;padding-left:1rem}.creator,.event-workspace{padding:1rem}.inline-form,.participant-form,.exclusion-form{grid-template-columns:1fr}.workspace-title,.data-list li{align-items:flex-start;flex-direction:column}}.admin-link{color:#7a847e;font-size:.85rem;text-align:center}:root{color:#173f38;background:#fff7eb}body{min-height:100vh;background:radial-gradient(circle at 8% 14%,rgb(255 255 255 / 82%) 0 2px,transparent 2.5px),radial-gradient(circle at 88% 9%,rgb(255 255 255 / 72%) 0 3px,transparent 3.5px),radial-gradient(circle at 75% 34%,rgb(255 255 255 / 55%) 0 2px,transparent 2.5px),linear-gradient(150deg,#e7f2eb,#fff8ef 45%,#fbe5d5);background-size:120px 120px,170px 170px,145px 145px,auto}body:before,body:after{position:fixed;z-index:-1;pointer-events:none;opacity:.16;font-size:clamp(5rem,13vw,11rem);line-height:1}body:before{content:"✦";top:5%;left:4%;color:#d7a21d}body:after{content:"✦";right:5%;bottom:9%;color:#bd3c3b}.page-shell{position:relative;gap:1.7rem}.hero{position:relative;padding:.75rem 0 .15rem}.pine-forest{display:flex;align-items:end;justify-content:center;gap:clamp(.15rem,1vw,.65rem);height:2.9rem;margin:0 0 .25rem;overflow:hidden}.pine-forest span{display:inline-block;filter:drop-shadow(0 .18rem .1rem rgb(14 69 50 / 16%));font-size:clamp(1.7rem,5vw,2.5rem);transform-origin:bottom center}.pine-forest span:nth-child(odd){font-size:clamp(1.35rem,4vw,2.05rem)}.pine-forest span:nth-child(2){transform:translateY(.28rem) rotate(-4deg)}.pine-forest span:nth-child(4){transform:translateY(.28rem) rotate(4deg)}.eyebrow{color:#b44238;text-shadow:0 1px #fff}h1{color:#145548;text-shadow:0 .18rem 0 #f7d996,0 .38rem .8rem rgb(17 72 58 / 12%)}.lead{color:#42645b}.card,.creator,.event-sidebar,.event-workspace{border:1px solid rgb(255 255 255 / 84%);background:#fffdf7e0;box-shadow:0 1.1rem 3.2rem #2a4d3d24,inset 0 1px #ffffffe5;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.card{border-radius:1.35rem}.card h2,.wish-list h3,.event-sidebar h2,.manager h2,.draw-actions h2{color:#145548}input,textarea,.inline-form select{border-color:#d8cbb8;background:#fffefa;box-shadow:inset 0 1px 2px #51452d0a}input:focus,textarea:focus{border-color:#c2473e;outline-color:#c2473e2e}button{cursor:pointer;border-radius:.7rem;background:linear-gradient(135deg,#c94e42,#a83131);box-shadow:0 .35rem .7rem #982c2a38;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}button:not(:disabled):hover{filter:saturate(1.08) brightness(1.04);box-shadow:0 .52rem 1rem #982c2a47;transform:translateY(-1px)}button:not(:disabled):active{transform:translateY(1px);box-shadow:0 .18rem .45rem #982c2a2e}.secondary{border-color:#17614f;background:#f4fbf4;color:#17614f;box-shadow:none}.secondary:not(:disabled):hover{background:#ddefdf;box-shadow:0 .3rem .7rem #185b461f}.mode-selector button{box-shadow:none}.mode-selector button.selected{border-color:#b84239;background:#f9e6d6;color:#9d352f}.lookup-key{border:1px dashed #d7a21d;background:linear-gradient(135deg,#fff6d9,#fffdf3);box-shadow:inset 0 0 0 .25rem #ffffff94}.lookup-key strong{color:#b13d35}.recipient{color:#bd4239;text-shadow:0 2px #f9dda1}.wish-list,.manager,.draw-actions{border-top-color:#e5d8c7}.wish-items li{border-bottom-color:#eadfce}.admin-shell{background:transparent}.admin-header{color:#47665b}.admin-header:after{content:"🎄";font-size:1.35rem}.wordmark{color:#145548;text-shadow:0 2px #f7d996}.event-button:hover,.event-button.selected{border-color:#e8bd78;background:linear-gradient(100deg,#edf7ef,#fff2d9)}.event-name{color:#b64036!important}.validation.valid{background:#e1f1e4;color:#145548}.email-preview{border-color:#e4bb6b;background:#fff8e9}.danger{background:linear-gradient(135deg,#ad3a35,#812927)}@media(prefers-reduced-motion:no-preference){.pine-forest span{animation:tree-sway 3.8s ease-in-out infinite alternate}.pine-forest span:nth-child(2n){animation-delay:-1.8s}}@keyframes tree-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}
