:root{--color-crimson:#8b1e2d;--color-crimson-dark:#6b1522;--color-fir:#1f4d3a;--color-fir-light:#2d6b52;--color-gold:#c4a35a;--color-cream:#f7f3ee;--color-ink:#2a2420;--color-muted:#6b5f56;--color-surface:#fffdf9;--color-border:#e0d6c8;--font-display:"Fraunces", "Palatino Linotype", Palatino, serif;--font-body:"Source Sans 3", "Segoe UI", sans-serif;--radius:0.5rem;--shadow:0 12px 40px rgba(42, 36, 32, 0.08)}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);color:var(--color-ink);background:radial-gradient(ellipse at top,rgba(196,163,90,.12),transparent 55%),linear-gradient(180deg,#f3ebe1 0%,var(--color-cream) 40%,#efe6db 100%);min-height:100vh;line-height:1.55}h1,h2,h3,.display{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;color:var(--color-crimson-dark)}a{color:var(--color-fir);text-decoration-thickness:1px;text-underline-offset:.2em}a:hover{color:var(--color-crimson)}.site-header{display:flex;align-items:center;justify-content:space-between;gap:1rem 1.5rem;padding:.85rem 1.5rem;border-bottom:1px solid var(--color-border);background:rgba(255,253,249,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.brand{display:inline-flex;align-items:center;text-decoration:none;line-height:0;flex-shrink:0}.brand:hover{opacity:.88}.brand-logo{display:block;height:2.75rem;width:auto}.site-header-participant{justify-content:flex-start}.header-identity{display:flex;align-items:center;gap:1rem;min-width:0;width:100%}.nav-links{display:flex;flex-wrap:wrap;gap:.35rem .25rem;align-items:center;justify-content:flex-end}.nav-links a{text-decoration:none;color:var(--color-muted);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:.35rem;padding:.45rem .75rem;border-radius:var(--radius);transition:background .15s ease,color .15s ease}.nav-links a:hover,.nav-links a.is-active{color:var(--color-fir);background:rgba(31,77,58,8%)}.nav-greeting{margin:0;color:var(--color-muted);font-weight:500;font-size:.95rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-greeting strong{color:var(--color-ink);font-weight:700}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;border-radius:999px;background:var(--color-crimson);color:#fff;font-size:.7rem;font-weight:700;line-height:1}.logout-form{display:inline;margin:0}.btn-logout{appearance:none;background:0 0;border:none;padding:.45rem .75rem;font:inherit;font-weight:600;font-size:.92rem;color:var(--color-muted);cursor:pointer;text-decoration:none;border-radius:var(--radius);transition:background .15s ease,color .15s ease}.btn-logout:hover{color:var(--color-fir);background:rgba(31,77,58,8%)}.nav-toggle{display:none;appearance:none;flex-shrink:0;align-items:center;justify-content:center;width:2.6rem;height:2.6rem;margin:0;padding:0;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-ink);cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.nav-toggle:hover{background:rgba(31,77,58,8%);border-color:#cbbba8;color:var(--color-fir)}.nav-toggle:focus-visible{outline:2px solid var(--color-fir);outline-offset:3px}.nav-toggle-icon{font-size:1.15rem;line-height:1}.nav-toggle-icon-close{display:none}.site-header.is-nav-open .nav-toggle-icon-open{display:none}.site-header.is-nav-open .nav-toggle-icon-close{display:inline-block}.panel-auth{max-width:440px;margin:2rem auto}.container-narrow{width:min(1080px,calc(100% - 2rem));margin:0 auto}.layout-home{width:100%;padding-top:0!important}.layout-home>.flash{width:min(1080px,calc(100% - 2rem));margin-left:auto;margin-right:auto}.home-content{padding-bottom:.5rem}.hero{position:relative;isolation:isolate;overflow:hidden;text-align:center;margin-bottom:2rem;padding:clamp(3.25rem,9vw,6rem)1.5rem clamp(3rem,7vw,4.75rem);border-bottom:1px solid var(--color-border);background:radial-gradient(ellipse 90% 80% at 50% 0%,rgba(196,163,90,.22),transparent 58%),radial-gradient(ellipse 55% 60% at 12% 85%,rgba(31,77,58,.14),transparent 60%),radial-gradient(ellipse 50% 55% at 92% 25%,rgba(139,30,45,.12),transparent 55%),linear-gradient(180deg,#efe4d6 0%,var(--color-cream) 72%,#f7f3ee 100%)}.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0}.hero::before{width:min(34rem,70vw);height:min(34rem,70vw);top:-18%;left:50%;translate:-50% 0;background:radial-gradient(circle,rgba(255,253,249,.75) 0%,rgba(255,253,249,0) 70%)}.hero::after{width:min(22rem,55vw);height:min(22rem,55vw);right:-8%;bottom:-28%;background:radial-gradient(circle,rgba(139,30,45,8%) 0%,transparent 70%)}.hero-inner{position:relative;z-index:1;width:min(40rem,100%);margin:0 auto}.hero .brand-hero-logo{display:block;width:min(320px,78vw);height:auto;margin:0 auto 1.35rem}.hero h1{font-size:clamp(1.35rem,3vw,1.85rem);max-width:22ch;margin:0 auto 1rem;color:var(--color-ink)}.hero p{max-width:38ch;margin:0 auto 1.75rem;color:var(--color-muted);font-size:1.1rem}.hero-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.budget-callout{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:1rem;row-gap:.15rem;align-items:center;margin:0 0 1.25rem;padding:1rem 1.2rem;border:1px solid #c4a35a;border-radius:var(--radius);background:linear-gradient(135deg,rgba(196,163,90,.18),rgba(255,253,249,.95));box-shadow:0 8px 24px rgba(196,163,90,.12)}.budget-callout-label{grid-column:1;grid-row:1;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6d5314}.budget-callout-value{grid-column:1;grid-row:2;font-family:var(--font-display);font-size:clamp(1.75rem,4vw,2.15rem);font-weight:700;color:var(--color-crimson);line-height:1}.budget-callout-hint{grid-column:2;grid-row:1/span 2;color:var(--color-muted);font-size:.95rem;line-height:1.4}.messaging-card-preview{display:block;margin-top:.2rem;color:var(--color-ink);font-size:.9rem;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:42rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:var(--radius);padding:.7rem 1.2rem;font-weight:650;font-family:var(--font-body);cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px);text-decoration:none}.btn-primary{background:var(--color-crimson);color:#fff;box-shadow:0 8px 20px rgba(139,30,45,.25)}.btn-primary:hover{background:var(--color-crimson-dark);color:#fff}.btn-secondary{background:var(--color-fir);color:#fff}.btn-secondary:hover{background:var(--color-fir-light);color:#fff}.btn-ghost{background:0 0;border-color:var(--color-border);color:var(--color-ink)}.btn-danger{background:#9b2c2c;color:#fff}.btn:disabled,.btn.is-disabled{opacity:.55;cursor:not-allowed;transform:none;pointer-events:none}.btn-sm{padding:.45rem .75rem;font-size:.9rem}.btn-icon{padding:.45rem .55rem;min-width:2.1rem}.link-cell{display:flex;align-items:flex-start;gap:.4rem;max-width:28rem}.link-cell .code-link{flex:1;min-width:0}.link-cell-actions{display:inline-flex;flex-shrink:0;gap:.25rem}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) + .15rem);box-shadow:var(--shadow);padding:1.5rem;margin-bottom:1.5rem}.panel h2:first-child,.panel h3:first-child{margin-top:0}.flash{padding:.85rem 1rem;border-radius:var(--radius);margin:1rem 0;border:1px solid transparent;display:flex;gap:.65rem;align-items:flex-start}.flash-success{background:#e8f5ef;border-color:#b7dfc9;color:var(--color-fir)}.flash-danger,.flash-error{background:#fceced;border-color:#efc2c7;color:var(--color-crimson-dark)}.flash-warning{background:#fff7e8;border-color:#ecd7a5;color:#7a5b16}.page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.page-header h1{margin:0}.page-lead{margin:.35rem 0 0;color:var(--color-muted);max-width:52ch}.actions-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.table-wrap{overflow-x:auto}table.data{width:100%;border-collapse:collapse}table.data th,table.data td{padding:.75rem .65rem;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}table.data th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-muted)}table.data tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end;align-items:center}.status-badge{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:var(--radius);font-size:.8rem;font-weight:650;line-height:1.2;white-space:nowrap}.status-badge-assigned{background:#e8f3ec;color:var(--color-fir);border:1px solid #cfe4d8}.status-badge-unread{background:#fff3d9;color:#6d5314;border:1px solid var(--color-gold)}.messaging-cards{display:grid;gap:.75rem}.messaging-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;text-decoration:none;color:inherit;transition:border-color .15s ease,transform .15s ease}.messaging-card:hover{border-color:var(--color-fir);transform:translateY(-1px);text-decoration:none}.messaging-card.has-unread{border-color:var(--color-gold);background:#fffaf0}.messaging-card-icon{width:2.4rem;height:2.4rem;border-radius:.55rem;display:inline-flex;align-items:center;justify-content:center;background:#f3eee7;color:var(--color-fir);flex-shrink:0}.messaging-card-body{display:grid;gap:.15rem;flex:1;min-width:0}.messaging-card-body strong{font-size:1.05rem}.santa-form,.form-grid{display:grid;gap:1.15rem}.form-row{display:grid;gap:.4rem}.form-row>label{font-weight:650;color:var(--color-ink);font-size:.95rem}.form-row>label .req{color:var(--color-crimson);font-weight:700}.form-control{width:100%;font:inherit;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-ink);transition:border-color .15s ease,box-shadow .15s ease}.santa-form input[type=email],.santa-form input[type=password],.santa-form input[type=text],.santa-form input[type=number],.santa-form input[type=url],.santa-form input[type=date],.santa-form select,.santa-form textarea{width:100%;font:inherit;padding:.75rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;color:var(--color-ink)}.form-control:hover,.santa-form input:hover,.santa-form select:hover,.santa-form textarea:hover{border-color:#cbbba8}.form-control:focus,.santa-form input:focus,.santa-form select:focus,.santa-form textarea:focus{outline:none;border-color:var(--color-fir);box-shadow:0 0 0 3px rgba(31,77,58,.15)}.form-control.is-invalid,.form-row.has-error .form-control{border-color:#c45a66;background:#fff8f8}.form-control:disabled,.santa-form input:disabled,.santa-form select:disabled,.santa-form textarea:disabled{background:#f3eee7;color:var(--color-muted);cursor:not-allowed}textarea.form-control{min-height:7rem;resize:vertical;line-height:1.45}select.form-control{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%216b5f56' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}.form-help,.help{margin:0;font-weight:400;color:var(--color-muted);font-size:.88rem;line-height:1.4}.form-errors{list-style:none;margin:0;padding:0;display:grid;gap:.25rem}.form-errors li{color:var(--color-crimson-dark);font-size:.9rem;font-weight:600}.form-errors-banner{background:#fceced;border:1px solid #efc2c7;color:var(--color-crimson-dark);border-radius:var(--radius);padding:.85rem 1rem}.form-errors-banner .form-errors{margin-top:.4rem}.form-row-check{gap:.5rem}.check-label{display:flex!important;align-items:flex-start;gap:.65rem;font-weight:600;cursor:pointer;line-height:1.4}.form-check{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--color-fir);flex-shrink:0}.form-row-switch{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem}.switch-title{font-weight:650;color:var(--color-ink);font-size:.95rem;min-width:6rem}.switch{--switch-w:2.85rem;--switch-h:1.55rem;--switch-pad:0.18rem;--switch-knob:1.19rem;display:inline-flex;align-items:center;gap:.65rem;cursor:pointer;margin:0;user-select:none}.form-switch-input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}.switch-ui{position:relative;flex-shrink:0;width:var(--switch-w);height:var(--switch-h);border-radius:999px;background:#c4b5a8;box-shadow:inset 0 0 0 1px rgba(42,36,32,8%);transition:background .2s ease,box-shadow .2s ease}.switch-knob{position:absolute;top:var(--switch-pad);left:var(--switch-pad);width:var(--switch-knob);height:var(--switch-knob);border-radius:999px;background:#fff;box-shadow:0 1px 4px rgba(42,36,32,.28);transition:transform .2s ease}.switch-label{position:relative;display:inline-grid;font-size:.88rem;font-weight:650;line-height:1.2;min-width:5.5rem}.switch-label-on,.switch-label-off{grid-area:1/1;transition:opacity .15s ease,color .15s ease}.switch-label-on{color:var(--color-fir);opacity:0}.switch-label-off{color:var(--color-muted);opacity:1}.form-switch-input:checked+.switch-ui{background:var(--color-fir);box-shadow:inset 0 0 0 1px rgba(31,77,58,.2)}.form-switch-input:checked+.switch-ui .switch-knob{transform:translateX(calc(var(--switch-w) - var(--switch-knob) - (2 * var(--switch-pad))))}.form-switch-input:checked+.switch-ui+.switch-label .switch-label-on{opacity:1}.form-switch-input:checked+.switch-ui+.switch-label .switch-label-off{opacity:0}.form-switch-input:focus-visible+.switch-ui{outline:2px solid var(--color-fir);outline-offset:3px}.form-switch-input:not(:checked):focus-visible+.switch-ui{outline-color:#a89888}.switch:hover .switch-ui{filter:brightness(.96)}.switch:hover .form-switch-input:checked+.switch-ui{filter:brightness(1.08)}.form-section{display:grid;gap:1rem}.form-section+.form-section{margin-top:.35rem;padding-top:1.25rem;border-top:1px solid var(--color-border)}.form-section-title{margin:0;font-size:1.05rem;color:var(--color-fir)}.form-cols{display:grid;gap:1rem}@media(min-width:720px){.form-cols-2{grid-template-columns:1fr 1fr}}.empty-state{text-align:center;padding:2.25rem 1.25rem;border:1px dashed var(--color-border);border-radius:calc(var(--radius) + .15rem);background:rgba(255,253,249,.7)}.empty-state-icon{width:3rem;height:3rem;margin:0 auto .85rem;border-radius:999px;display:grid;place-items:center;background:rgba(196,163,90,.18);color:var(--color-crimson);font-size:1.15rem}.empty-state-title{margin:0 0 .4rem;font-size:1.2rem;color:var(--color-ink)}.empty-state-text{margin:0 auto 1.1rem;max-width:38ch;color:var(--color-muted)}.panel>.empty-state{border:none;background:0 0;padding:1.25rem .5rem}.code-link{display:inline-block;max-width:100%;font-size:.75rem;word-break:break-all;background:#f3eee7;padding:.25rem .45rem;border-radius:.3rem}.hint-box{background:#f4faf7;border:1px solid #cfe4d8;color:var(--color-fir);border-radius:var(--radius);padding:.85rem 1rem;margin-bottom:1rem}.hint-box.info{background:#f7f3ee;border-color:var(--color-border);color:var(--color-muted)}.hint-box.warning{background:#fff6e8;border-color:#e8c48a;color:#6d5314}.gift-purchased-box{display:flex;flex-wrap:wrap;gap:.75rem 1rem;align-items:center;margin-bottom:1.15rem}.gift-purchased-box form{flex-shrink:0}.gift-purchased-box .help{margin:0;flex:1;min-width:16ch}.wish-panel-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem 1rem;margin-bottom:1.15rem}.wish-panel-heading{display:flex;gap:.85rem;align-items:flex-start;min-width:0;flex:1}.wish-panel-heading h2{margin:0 0 .2rem}.wish-panel-heading .help{margin:0;max-width:46ch}.wish-panel-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.65rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem}.wish-panel-offer .wish-panel-icon{background:rgba(139,30,45,.1);color:var(--color-crimson)}.wish-panel-own .wish-panel-icon{background:rgba(31,77,58,.1);color:var(--color-fir)}.wish-count{display:inline-flex;align-items:center;padding:.35rem .7rem;border-radius:999px;background:#f3eee7;color:var(--color-muted);font-size:.82rem;font-weight:700;white-space:nowrap}.easter-egg-explainer{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.1rem;border:1px dashed var(--color-border);border-radius:var(--radius);background:rgba(196,163,90,8%)}.easter-egg-explainer-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.55rem;display:grid;place-items:center;background:rgba(139,30,45,.1);color:var(--color-crimson);font-size:1.15rem}.easter-egg-explainer-body{flex:1;min-width:0;display:grid;gap:.55rem}.easter-egg-explainer-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem 1rem}.easter-egg-explainer-title{margin:0;font-weight:700;color:var(--color-ink)}.easter-egg-steps{margin:0;padding-left:1.15rem;color:var(--color-muted);font-size:.92rem;display:grid;gap:.25rem}.scoreboard-panel{margin-top:1.75rem}.scoreboard-header{display:flex;gap:.9rem;align-items:flex-start;margin-bottom:1.15rem}.scoreboard-header-icon{flex-shrink:0;width:2.6rem;height:2.6rem;border-radius:.6rem;display:grid;place-items:center;background:linear-gradient(145deg,rgba(139,30,45,.12),rgba(196,163,90,.2));color:var(--color-crimson);font-size:1.2rem}.scoreboard-title{margin:0 0 .25rem;font-size:1.25rem}.scoreboard-empty{text-align:center;padding:1.75rem 1rem;color:var(--color-muted);border:1px dashed var(--color-border);border-radius:var(--radius);background:rgba(255,253,249,.7)}.scoreboard-empty i{display:block;font-size:1.5rem;color:var(--color-gold);margin-bottom:.55rem}.scoreboard-empty p{margin:0}.scoreboard{list-style:none;margin:0;padding:0;display:grid;gap:.5rem;counter-reset:none}.scoreboard-row{display:grid;grid-template-columns:2.25rem minmax(0,1fr)auto;column-gap:.85rem;align-items:center;padding:.7rem .9rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff}.scoreboard-row.is-rank-1{border-color:rgba(196,163,90,.55);background:#fffaf0}.scoreboard-rank{width:2rem;height:2rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;line-height:1;background:#f3eee7;color:var(--color-muted)}.scoreboard-row.is-rank-1 .scoreboard-rank{background:rgba(196,163,90,.28);color:#8a6a22}.scoreboard-row.is-rank-2 .scoreboard-rank{background:rgba(120,140,160,.2);color:#4f5f70}.scoreboard-row.is-rank-3 .scoreboard-rank{background:rgba(180,120,80,.18);color:#7a4e2e}.scoreboard-player{min-width:0;display:grid;gap:.15rem}.scoreboard-name{margin:0;font-weight:700;font-size:1rem;line-height:1.25;color:var(--color-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scoreboard-when{margin:0;font-size:.8rem;line-height:1.2;color:var(--color-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scoreboard-score{display:grid;justify-items:end;align-content:center;gap:.1rem;flex-shrink:0;line-height:1}.scoreboard-score strong{font-family:var(--font-display);font-size:1.35rem;font-weight:700;line-height:1;color:var(--color-crimson)}.scoreboard-score span{font-size:.72rem;font-weight:650;letter-spacing:.02em;text-transform:uppercase;color:var(--color-muted)}.wish-list{display:grid;gap:.65rem}.wish-card{display:flex;gap:.85rem;align-items:flex-start;padding:.95rem 1.05rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.wish-card:hover{border-color:#d2c4b2;box-shadow:0 6px 18px rgba(42,36,32,6%)}.wish-card.is-top{border-color:rgba(196,163,90,.55);background:linear-gradient(135deg,rgba(196,163,90,.1),rgba(255,253,249,.98) 55%)}.wish-card.is-editing{border-color:var(--color-fir);box-shadow:0 0 0 3px rgba(31,77,58,.12)}.wish-card.is-over-budget{border-color:#e8c48a}.wish-card-rank{flex-shrink:0;width:2.25rem;height:2.25rem;margin-top:.15rem;border-radius:.6rem;display:inline-flex;align-items:center;justify-content:center;background:rgba(31,77,58,.1);color:var(--color-fir);font-weight:700;font-size:.95rem;line-height:1}.wish-card-rank-top{background:rgba(196,163,90,.22);color:#8a6a1f}.wish-card-offer .wish-card-rank:not(.wish-card-rank-top){background:rgba(139,30,45,8%);color:var(--color-crimson)}.wish-card-body{flex:1;min-width:0;display:grid;gap:.4rem}.wish-card-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.35rem 1rem}.wish-card-heading{min-width:0;flex:1}.wish-card-priority{display:block;margin-bottom:.15rem;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted)}.wish-card.is-top .wish-card-priority{color:#8a6a1f}.wish-card-title{margin:0;font-family:var(--font-body);font-size:1.05rem;font-weight:700;color:var(--color-ink);letter-spacing:0;line-height:1.3}.wish-card-price{display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .55rem;border-radius:999px;background:rgba(31,77,58,8%);font-weight:700;font-size:.92rem;color:var(--color-fir);white-space:nowrap;line-height:1.2}.wish-card-price-over{background:rgba(183,121,31,.12);color:#9a6b12}.wish-card-desc{margin:0;color:var(--color-muted);font-size:.92rem;line-height:1.45}.wish-card-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;margin-top:.2rem;padding-top:.55rem;border-top:1px solid rgba(224,214,200,.7)}.wish-card-link{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;border-radius:var(--radius);background:rgba(31,77,58,8%);color:var(--color-fir);font-weight:650;font-size:.88rem;text-decoration:none;transition:background .15s ease,color .15s ease,transform .15s ease}.wish-card-link:hover{background:rgba(31,77,58,.14);color:var(--color-crimson);text-decoration:none}.wish-card-link-primary{background:var(--color-fir);color:#fff}.wish-card-link-primary:hover{background:var(--color-fir-light);color:#fff;transform:translateY(-1px)}.wish-card-link-missing{color:var(--color-muted);font-size:.85rem}.wish-card-actions{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-left:auto}.wish-card-actions .btn-icon{color:var(--color-muted);border-color:transparent;background:0 0}.wish-card-actions .btn-icon:hover{color:var(--color-fir);background:rgba(31,77,58,8%);border-color:transparent}.wish-card-actions .wish-card-delete:hover{color:var(--color-crimson);background:rgba(139,30,45,8%)}.wish-card-actions form{margin:0;display:inline-flex}.wish-form-block{margin-top:1.35rem;padding-top:1.25rem;border-top:1px dashed var(--color-border);scroll-margin-top:5.5rem}.wish-form-block .form-section-title{margin-top:0}.wish-over-budget{display:inline-flex;align-items:center;color:#b7791f;margin-left:.35rem;vertical-align:middle}.wish-over-budget i{font-size:.95em}.wish-price-input-wrap{position:relative;display:grid}.wish-price-input-wrap .form-control{padding-right:2.4rem}.wish-over-budget-field{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);margin-left:0;pointer-events:none}.wish-over-budget-field[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.missing-wishes-list{margin:.55rem 0 0;padding-left:1.2rem}.missing-wishes-list li{margin:.15rem 0}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.checklist li{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;background:rgba(255,255,255,.55);border:1px solid var(--color-border);border-radius:var(--radius)}.checklist i{color:var(--color-gold);margin-top:.15rem}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat{padding:1rem;background:linear-gradient(180deg,#fff,#faf6f0);border:1px solid var(--color-border);border-radius:var(--radius)}.stat strong{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--color-crimson)}.messages{display:grid;gap:.85rem}.message{padding:.9rem 1rem;border-radius:var(--radius);border:1px solid var(--color-border);background:#fff}.message.unread{border-color:var(--color-gold);background:#fffaf0}.message .meta{font-size:.85rem;color:var(--color-muted);margin-bottom:.35rem}.chat{display:flex;flex-direction:column;gap:.7rem}.chat-bubble{max-width:min(85%,28rem);padding:.75rem .95rem;border-radius:1rem;border:1px solid var(--color-border)}.chat-bubble-meta{font-size:.78rem;color:var(--color-muted);margin-bottom:.3rem;font-weight:600}.chat-bubble-body{line-height:1.45;word-break:break-word}.chat-bubble-theirs{align-self:flex-start;background:#f3eee7;border-color:#e2d6c8;border-bottom-left-radius:.3rem}.chat-bubble-mine{align-self:flex-end;background:#e8f3ec;border-color:#cfe4d8;color:var(--color-ink);border-bottom-right-radius:.3rem}.chat-bubble-mine .chat-bubble-meta{text-align:right}.chat-bubble-santa{align-self:flex-start;background:#eef3f8;border-color:#c8d7e6;border-bottom-left-radius:.3rem}.chat-bubble-target{align-self:flex-end;background:#f7f0e8;border-color:#e4d4c2;border-bottom-right-radius:.3rem}.chat-bubble-target .chat-bubble-meta{text-align:right}.chat-bubble.is-unread{box-shadow:inset 3px 0 0 var(--color-gold)}.conversation-list{display:grid;gap:1.25rem}.conversation-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.conversation-group-header h2{margin:0 0 .25rem;font-size:1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.conversation-arrow{color:var(--color-muted);font-weight:500}.conversation-party-santa{color:#2f5f86}.conversation-party-target{color:#8a5a2b}.chat-admin{padding-top:.25rem;border-top:1px solid var(--color-border)}.site-footer{margin-top:3rem;padding:2rem 1.5rem;text-align:center;color:var(--color-muted);border-top:1px solid var(--color-border);font-size:.95rem}.locked-banner{background:#fff3d9;border:1px solid var(--color-gold);color:#6d5314;padding:.85rem 1rem;border-radius:var(--radius);margin-bottom:1rem;display:flex;gap:.6rem;align-items:flex-start}@keyframes rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.hero,.panel,.checklist li{animation:rise-in .55s ease both}.checklist li:nth-child(2){animation-delay:.08s}.checklist li:nth-child(3){animation-delay:.16s}.checklist li:nth-child(4){animation-delay:.24s}.elf-peek-slot{position:relative;isolation:isolate;overflow:visible}.elf-host{position:relative;z-index:1}.elf-hideout{position:absolute;z-index:0;width:3.5rem;height:3.5rem;padding:0;border:0;border-radius:0;display:grid;place-items:center;cursor:pointer;background:0 0;box-shadow:none;opacity:1;transition:transform .22s ease,filter .22s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.elf-peek-top{top:0;left:18%;transform:translateY(-48%)}.elf-peek-bottom{bottom:0;right:16%;transform:translateY(48%)}.elf-peek-left{left:0;top:28%;transform:translateX(-48%)}.elf-peek-right{right:0;bottom:22%;transform:translateX(48%)}.elf-hideout img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 3px 8px rgba(42,36,32,.22))}.elf-hideout:hover,.elf-hideout:focus-visible{z-index:2;outline:2px solid var(--color-gold);outline-offset:2px;filter:brightness(1.05)}.elf-peek-top:hover,.elf-peek-top:focus-visible{transform:translateY(-72%)}.elf-peek-bottom:hover,.elf-peek-bottom:focus-visible{transform:translateY(72%)}.elf-peek-left:hover,.elf-peek-left:focus-visible{transform:translateX(-72%)}.elf-peek-right:hover,.elf-peek-right:focus-visible{transform:translateX(72%)}@media(hover:none),(pointer:coarse){.elf-hideout{z-index:3;width:4.25rem;height:4.25rem}.elf-peek-top{transform:translateY(-68%)}.elf-peek-bottom{transform:translateY(68%)}.elf-peek-left{transform:translateX(-68%)}.elf-peek-right{transform:translateX(68%)}}body.elf-game-open{overflow:hidden}.elf-result-save{margin:.75rem 0 0;font-size:.95rem;color:rgba(255,253,249,.9)}.elf-result-save.is-error{color:#ffd0d6}.elf-overlay{position:fixed;inset:0;z-index:80;background:rgba(42,36,32,.62);backdrop-filter:blur(3px);animation:elf-fade-in .25s ease both;pointer-events:auto;touch-action:none;user-select:none}.elf-loading{position:absolute;inset:0;z-index:4;display:grid;place-content:center;justify-items:center;gap:.85rem;padding:1.5rem;color:var(--color-surface);text-align:center;text-shadow:0 1px 8px rgba(42,36,32,.45);pointer-events:none}.elf-loading p{margin:0;font-size:1.05rem;font-weight:650}.elf-loading-spinner{width:2.5rem;height:2.5rem;border-radius:999px;border:3px solid rgba(255,253,249,.25);border-top-color:var(--color-gold);animation:elf-spin .7s linear infinite}.elf-loading.is-error{color:#ffe3e6}.elf-loading.is-error i{font-size:1.75rem;color:#f0b4bb}.elf-overlay.is-loading .elf-hud{opacity:.55}@keyframes elf-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.elf-loading-spinner{animation:none;border-top-color:rgba(255,253,249,.25);border-color:var(--color-gold)}}.elf-close{position:absolute;top:.85rem;right:.85rem;z-index:3;width:2.5rem;height:2.5rem;border:1px solid rgba(255,253,249,.35);border-radius:999px;display:grid;place-items:center;background:rgba(255,253,249,.14);color:var(--color-surface);cursor:pointer;font-size:1.15rem;touch-action:manipulation}.elf-close:hover,.elf-close:focus-visible{background:rgba(255,253,249,.28);outline:2px solid var(--color-gold);outline-offset:2px}.elf-hud{position:absolute;top:1rem;left:1rem;right:4rem;z-index:3;display:flex;flex-wrap:wrap;gap:.45rem 1rem;font-size:1rem;font-weight:700;color:var(--color-surface);text-shadow:0 1px 8px rgba(42,36,32,.45);pointer-events:none}.elf-playfield{position:absolute;inset:0;z-index:1;overflow:hidden;touch-action:manipulation}.elf-snow{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.elf-snowflake{position:absolute;top:-1.5rem;color:rgba(255,253,249,var(--elf-snow-opacity,.7));font-size:var(--elf-snow-size,.8rem);line-height:1;animation-name:elf-snow-fall;animation-duration:var(--elf-snow-duration,8s);animation-timing-function:linear;animation-fill-mode:forwards;filter:drop-shadow(0 0 4px rgba(255,253,249,.35))}.elf-gift{position:absolute;top:-4.5rem;z-index:1;width:4.25rem;height:4.25rem;padding:0;border:0;border-radius:0;display:grid;place-items:center;cursor:pointer;background:0 0;box-shadow:none;animation-name:elf-fall;animation-duration:var(--elf-fall-ms,3.5s);animation-timing-function:linear;animation-fill-mode:forwards;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.elf-gift img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 8px 16px rgba(42,36,32,.35))}.elf-gift-static{animation:none}.elf-catch-burst{position:fixed;z-index:4;width:0;height:0;pointer-events:none}.elf-catch-plus{position:absolute;left:0;top:0;transform:translate(-50%,-50%);font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--color-gold);text-shadow:0 2px 8px rgba(42,36,32,.55);animation:elf-catch-plus .6s ease-out forwards}.elf-catch-spark{position:absolute;left:0;top:0;width:.55rem;height:.55rem;border-radius:999px;background:var(--color-gold);box-shadow:0 0 8px rgba(196,163,90,.8);animation:elf-catch-spark .55s ease-out forwards}.elf-catch-spark:nth-child(3),.elf-catch-spark:nth-child(5){background:#f3ebe1}.elf-catch-spark:nth-child(4),.elf-catch-spark:nth-child(6){background:var(--color-crimson)}.elf-result{position:absolute;inset:0;z-index:2;display:grid;place-content:center;text-align:center;padding:2rem 1.25rem;background:rgba(42,36,32,.35);color:var(--color-surface);pointer-events:none}.elf-result-score,.elf-result-best{margin:0 0 .55rem;font-size:1.2rem}.elf-result-joke{margin:1rem 0 0;font-family:var(--font-display);font-size:1.15rem;color:rgba(255,253,249,.88)}@keyframes elf-fade-in{from{opacity:0}to{opacity:1}}@keyframes elf-fall{from{transform:translateY(0)rotate(var(--elf-rot-from,-15deg))}to{transform:translateY(calc(100vh + 5rem))rotate(var(--elf-rot-to,40deg))}}@keyframes elf-snow-fall{from{transform:translate3d(0,0,0)rotate(0)}to{transform:translate3d(var(--elf-snow-drift,20px),calc(100vh + 2rem),0)rotate(360deg)}}@keyframes elf-catch-plus{0%{opacity:1;transform:translate(-50%,-50%)scale(.7)}100%{opacity:0;transform:translate(-50%,-140%)scale(1.2)}}@keyframes elf-catch-spark{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}100%{opacity:0;transform:translate(-50%,-50%)rotate(var(--elf-spark-angle,0deg))translateY(-2.4rem)scale(.3)}}@media(prefers-reduced-motion:reduce){.elf-overlay{animation:none}.elf-hideout{transition:none}.elf-catch-plus,.elf-catch-spark{animation-duration:.01ms!important}}@media(max-width:720px){body{overflow-x:clip}.elf-peek-slot{z-index:2}.site-header{flex-wrap:wrap;gap:.65rem;padding:.75rem 1rem;align-items:center}.brand-logo{height:2.25rem}.site-header:has(.nav-toggle) .nav-toggle{display:inline-flex;margin-left:auto}.site-header:has(.nav-toggle) .nav-links{display:none;width:100%;flex-direction:column;align-items:stretch;justify-content:flex-start;flex-wrap:nowrap;gap:.2rem;padding:.35rem 0 .15rem;border-top:1px solid var(--color-border);margin-top:.15rem;overflow:visible;mask-image:none}.site-header:has(.nav-toggle).is-nav-open .nav-links{display:flex}.site-header:has(.nav-toggle) .nav-links a,.site-header:has(.nav-toggle) .btn-logout{width:100%;justify-content:flex-start;text-align:left;padding:.7rem .85rem;font-size:.95rem}.site-header:has(.nav-toggle) .logout-form{display:block;width:100%}.container-narrow{width:min(1080px,calc(100% - 1.25rem))}.layout-home>.flash,.home-content.container-narrow,.home-content{width:min(1080px,calc(100% - 1.25rem));margin-left:auto;margin-right:auto}main.container-narrow{padding:1.1rem 0 1.75rem!important}.panel-auth{max-width:none;margin:.75rem 0 1.25rem}.panel-auth .actions-row>.btn{width:100%}.checklist li{align-items:flex-start;padding:.85rem .9rem}.checklist li>div{min-width:0;word-break:break-word}.empty-state{padding:1.5rem .85rem}.empty-state-text{max-width:none}.flash{margin:.75rem 0;padding:.75rem .85rem}.hint-box{word-break:break-word}.santa-form input,.santa-form select,.santa-form textarea,.form-control{font-size:1rem}.page-header{flex-direction:column;align-items:stretch;gap:.85rem}.page-header h1{font-size:clamp(1.45rem,6vw,1.85rem);word-break:break-word}.page-lead{max-width:none;font-size:.95rem}.page-header>.btn{width:100%}.panel{padding:1.1rem;margin-bottom:1.15rem}.budget-callout{grid-template-columns:1fr;padding:.9rem 1rem}.budget-callout-hint{grid-column:1;grid-row:3}.stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.stat{padding:.85rem;min-width:0}.stat strong{font-size:1.45rem}.actions-row{gap:.5rem}.actions-row>.btn{flex:auto;min-width:min(100%,9.5rem)}.table-wrap{overflow-x:visible;margin:0 -.15rem}table.data{border:0}table.data thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}table.data tbody{display:grid;gap:.75rem}table.data tr{display:grid;gap:.55rem;padding:.9rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius);background:#fff}table.data th,table.data td{display:grid;grid-template-columns:minmax(5.5rem,34%)minmax(0,1fr);gap:.55rem .75rem;align-items:start;padding:0;border:0;word-break:break-word}table.data td::before{content:attr(data-label);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-muted);line-height:1.35;padding-top:.15rem}table.data td:not([data-label])::before,table.data td[data-label=""]::before{content:none}table.data td:not([data-label]),table.data td[data-label=""]{grid-template-columns:1fr}table.data td[data-label=Actions]:not(:has(*)){display:none}.link-cell{max-width:none;flex-direction:column;align-items:stretch;gap:.45rem}.link-cell .code-link{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-size:.7rem;line-height:1.35}.link-cell-actions{justify-content:flex-start}.btn-icon{min-width:2.4rem;min-height:2.4rem;padding:.55rem}.easter-egg-explainer{flex-direction:column;gap:.75rem}.check-label{align-items:flex-start}.table-actions{justify-content:flex-start;width:100%}.table-actions .btn{flex:auto}.messaging-card{align-items:flex-start;flex-wrap:wrap;gap:.75rem;padding:.9rem}.messaging-card-body{flex:1 1 calc(100% - 3.4rem)}.messaging-card>.status-badge,.messaging-card>.help:last-child{width:100%;margin-left:3.3rem}.messaging-card-preview{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.conversation-group-header{flex-direction:column;align-items:stretch}.chat-bubble{max-width:92%}.scoreboard-header{gap:.75rem}.scoreboard-row{grid-template-columns:2rem minmax(0,1fr)auto;column-gap:.65rem;padding:.65rem .75rem}.scoreboard-when{white-space:normal}.wish-panel-header{flex-direction:column;align-items:stretch}.wish-count{align-self:flex-start}.wish-card{padding:.85rem;gap:.65rem}.wish-card-rank{width:2rem;height:2rem;font-size:.88rem}.wish-card-footer{gap:.45rem}.wish-card-actions{margin-left:auto}.wish-card-link-primary{flex:1;justify-content:center}.form-section+.form-section{padding-top:1rem}.locked-banner{flex-wrap:wrap}.site-footer{margin-top:2rem;padding:1.5rem 1rem;font-size:.9rem}.hero{padding:clamp(2.35rem,10vw,4rem)1rem clamp(2.1rem,8vw,3.5rem);margin-bottom:1.35rem}.hero .brand-hero-logo{width:min(260px,72vw);margin-bottom:1.1rem}.hero h1{font-size:clamp(1.25rem,5.5vw,1.7rem);max-width:none}.hero p{font-size:1rem;max-width:none;margin-bottom:1.35rem}.hero-actions{gap:.55rem}.hero-actions .btn{width:100%}.home-content .panel{padding:1.1rem}.wish-panel-heading{gap:.7rem}.wish-panel-heading .help{max-width:none}.wish-panel-icon{width:2.2rem;height:2.2rem;font-size:.95rem}.conversation-group-header .btn,.page-header>a.btn{width:100%;justify-content:center}}@media(max-width:420px){.stats{grid-template-columns:1fr}.messaging-card>.status-badge,.messaging-card>.help:last-child{margin-left:0}.actions-row>.btn{width:100%;min-width:0}table.data td{grid-template-columns:1fr;gap:.2rem}}