.christmas-root{min-height:100vh;min-width:320px;background:#f7f3e8;color:#173a2d;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.christmas-root *{box-sizing:border-box}.christmas-root button{transition:transform .12s ease,box-shadow .12s ease,opacity .12s ease,background-color .12s ease}.christmas-root button:not(:disabled):active{transform:scale(.96);box-shadow:inset 0 2px 5px rgba(23,58,45,.16)}.christmas-root button:disabled{cursor:wait}.spin{animation:button-spin .8s linear infinite;flex:0 0 auto}.button-working{display:inline-flex!important;align-items:center;justify-content:center;gap:7px}.is-working{opacity:.78!important;box-shadow:0 0 0 3px rgba(178,135,69,.12)}@keyframes button-spin{to{transform:rotate(1turn)}}.shell{width:min(800px,100%);margin:0 auto;padding:28px 18px 44px}.hero{text-align:center;padding:22px 12px 26px;border-bottom:1px solid #d7c7a0}.ornament{font-size:34px;color:#b28745;line-height:1}.eyebrow{text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800;color:#6c7f73;margin:12px 0 4px}.hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,7vw,54px);line-height:1.02;margin:0;color:#123c2b;font-weight:700}.budget{display:inline-flex;align-items:center;gap:8px;margin:18px 0 0;padding:9px 14px;border:1px solid #d6c39b;border-radius:999px;background:#fffaf0;font-weight:700;color:#71572d}.alert,.status-card{margin:18px 0;padding:16px;border-radius:14px;border:1px solid #d7c7a0;background:#fffdf8}.alert{border-color:#c99797;color:#7a2525;background:#fff6f6}.admin-panel,.public-panel,.reveal-panel{margin-top:24px;background:#fffdf8;border:1px solid #d7c7a0;border-radius:22px;padding:24px;box-shadow:0 10px 30px rgba(50,43,27,.06)}.private-label{text-transform:uppercase;letter-spacing:.14em;color:#7b806f;font-size:12px;font-weight:800;margin:0 0 4px}.public-panel h2{font-family:Georgia,Times New Roman,serif;font-size:32px;margin:0;color:#173a2d}.public-intro{font-size:17px;line-height:1.65;color:#4f5f56;margin:12px 0 20px}.public-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.public-item{padding:16px;border:1px solid #e1d5b9;border-radius:14px;background:#fffaf0}.public-item span,.public-item strong{display:block}.public-item strong{font-size:16px;color:#173a2d;margin-bottom:5px}.public-item span{font-size:14px;line-height:1.5;color:#5f6a63}.public-footer-note{margin:16px 0 0;text-align:center;color:#71572d;font-weight:700;font-size:14px}.admin-panel h2,.reveal-panel h2{font-family:Georgia,Times New Roman,serif;font-size:28px;margin:0;color:#173a2d}.instructions{color:#59655d;line-height:1.55;margin:12px 0 18px}.name-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.name-button{min-height:58px;border:1px solid #cbb98d;border-radius:14px;background:#fff;color:#173a2d;font-size:17px;font-weight:800;display:flex;align-items:center;justify-content:center;gap:9px;cursor:pointer}.name-button:hover{background:#f7f0df}.reveal-action{width:100%;max-width:320px;min-height:64px;margin:18px auto 2px;padding:16px 28px;font-size:18px}.copy-btn:focus-visible,.name-button:focus-visible,.primary-save:focus-visible,.reference-form input:focus-visible,.reference-form select:focus-visible,.reference-form textarea:focus-visible,.scenario:focus-visible,.secondary:focus-visible,.wishlist-link:focus-visible{outline:3px solid #b28745;outline-offset:2px}.result-card{text-align:center;padding:14px 4px 4px}.personal-section{margin:0 0 16px;padding:18px;border:1px solid #e1d5b9;border-radius:16px;background:#fffaf0}.assignment-section{text-align:center}.personal-section-label{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900;color:#7a6741}.assignment-section>p:nth-child(2){margin:0;color:#59655d;font-weight:700}.self-reference-section{text-align:left}.result-card>p:first-child{margin:0;color:#59655d;font-weight:700}.recipient{font-family:Georgia,Times New Roman,serif;font-size:clamp(44px,11vw,70px);line-height:1;color:#9a2f35;margin:18px 0}.recipient-reference{margin:0 auto 18px;padding:16px;max-width:560px;text-align:left;border:1px solid #d9c89d;border-radius:14px;background:#fffaf0}.recipient-reference>strong{display:flex;align-items:center;gap:8px;color:#173a2d}.recipient-reference p{margin:9px 0 0;color:#59655d;line-height:1.5;white-space:pre-wrap}.empty-reference{background:#fffdf8}.empty-reference p{font-style:italic}.wishlist-link{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:10px 13px;border-radius:10px;background:#173a2d;color:#fff;text-decoration:none;font-weight:800}.result-budget{font-weight:800;color:#71572d}.keep-secret{color:#59655d}.copy-btn,.secondary{border:1px solid #cbb98d;background:#fff;border-radius:12px;min-height:44px;padding:10px 14px;font-weight:800;color:#173a2d;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.not-participating{margin-top:16px;padding:16px;border-radius:14px;background:#f2efe6;color:#59655d;font-weight:700}.section-heading{display:flex;gap:12px;align-items:flex-start}.section-heading svg{margin-top:4px;color:#9b773f;flex:0 0 auto}.section-heading p{margin:4px 0 0;color:#66716a;line-height:1.45}.scenario-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin:18px 0}.scenario{border:1px solid #cbb98d;border-radius:14px;background:#fff;padding:16px;text-align:left;color:#173a2d;cursor:pointer;min-height:88px}.scenario span,.scenario strong{display:block}.scenario span{font-size:13px;color:#717a74;margin-top:5px}.scenario.active{border:2px solid #2f664d;background:#edf5ef}.scenario:disabled{opacity:.6;cursor:wait}.admin-note{font-size:13px;line-height:1.5;color:#755f36;background:#fff7df;border:1px solid #e0cd92;border-radius:12px;padding:12px}.links-heading,.references-heading{margin-top:28px}.reference-form{display:grid;grid-gap:13px;gap:13px;margin-top:16px;padding:18px;border:1px solid #e1d5b9;border-radius:16px;background:#fffaf0}.reference-form label{display:grid;grid-gap:6px;gap:6px}.reference-form label>span{font-size:13px;font-weight:800;color:#516158}.reference-form input,.reference-form select,.reference-form textarea{width:100%;border:1px solid #cbb98d;border-radius:11px;background:#fff;padding:11px 12px;color:#173a2d;font:inherit}.reference-form textarea{resize:vertical;line-height:1.45}.reference-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.primary-save{min-height:44px;border:0;border-radius:12px;padding:10px 15px;background:#173a2d;color:#fff;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer}.primary-save:disabled{opacity:.6;cursor:wait}.saved-message{display:inline-flex;align-items:center;gap:5px;color:#315440;font-weight:800;font-size:13px}.hide-assignment{margin-top:2px}.links-heading{margin-top:28px}.gift-link-list{display:grid;grid-gap:0;gap:0;margin-top:16px;border-top:1px solid #e5dcc7}.gift-link-row{display:flex;gap:12px;align-items:center;border-bottom:1px solid #e5dcc7;padding:14px 0}.gift-link-info{min-width:0;flex:1 1}.gift-link-info a,.gift-link-info span,.gift-link-info strong{display:block}.gift-link-info span{font-size:13px;color:#66716a;margin:2px 0 5px}.gift-link-info a{font-size:12px;color:#476a5b;overflow-wrap:anywhere}.copy-btn{flex:0 0 auto}.christmas-root footer{text-align:center;color:#8a867b;font-size:12px;margin-top:28px;padding-top:20px}@media(max-width:560px){.shell{padding:18px 12px 34px}.admin-panel,.public-panel,.reveal-panel{padding:18px;border-radius:18px}.name-grid,.public-grid,.scenario-grid{grid-template-columns:1fr}.gift-link-row{align-items:flex-start;flex-direction:column}.copy-btn,.primary-save{width:100%}.reference-actions{align-items:stretch}}@media(prefers-reduced-motion:reduce){.christmas-root button{transition:none}.spin{animation:none}}.christmas-root{overflow-x:hidden}.christmas-root .shell{width:min(800px,100%);margin:0 auto}.christmas-root .hero{display:block;align-items:normal;justify-content:normal;gap:0;text-align:center;margin-bottom:0;padding:22px 12px 26px;border-bottom:1px solid #d7c7a0}.christmas-root .hero .ornament{display:block;font-size:34px;color:#b28745;line-height:1}.christmas-root .hero .eyebrow{display:block;text-transform:uppercase;letter-spacing:.2em;font-size:12px;font-weight:800;color:#6c7f73;margin:12px 0 4px}.christmas-root .hero h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(34px,7vw,54px);line-height:1.02;margin:0;color:#123c2b;font-weight:700}.christmas-root .hero .budget{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;margin:18px auto 0;padding:9px 14px;border:1px solid #d6c39b;border-radius:999px;background:#fffaf0;font-size:16px;line-height:1.25;font-weight:700;color:#71572d}@media(max-width:560px){.christmas-root .shell{padding:14px 12px 34px}.christmas-root .hero{padding:14px 8px 20px}.christmas-root .hero .ornament{font-size:28px}.christmas-root .hero .eyebrow{font-size:11px;letter-spacing:.18em;margin:9px 0 5px}.christmas-root .hero h1{font-size:clamp(36px,10.5vw,44px);line-height:1.03}.christmas-root .hero .budget{margin-top:14px;font-size:14px;padding:8px 12px;white-space:normal}.christmas-root .admin-panel,.christmas-root .public-panel,.christmas-root .reveal-panel{margin-top:18px;padding:18px 16px;border-radius:18px}.christmas-root .public-panel h2{font-size:30px;line-height:1.08}}