@font-face{font-family:Mountains of Christmas;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/mountains-of-christmas-latin-700-normal-DMJf4AbR.woff2)format("woff2"),url(/assets/mountains-of-christmas-latin-700-normal-wvoUGjtN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--night:#0c2a20;--night-deep:#071a14;--paper:#fffaf1;--paper-edge:#efe2cc;--ink:#2c211a;--ink-soft:#6b5a4c;--red:#b8241c;--red-dark:#8f1a14;--green:#1f6b45;--green-soft:#e4f1e8;--gold:#e8b94a;--snow:#fff;--error:#b8241c;--title-font:"Mountains of Christmas", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(ellipse 120% 600px at top, #e8b94a2e, transparent), linear-gradient(180deg, var(--night) 0%, var(--night-deep) 100%);background-color:var(--night-deep);margin:0}.snow{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.flake{color:var(--snow);animation:linear infinite fall;position:absolute;top:-5vh}@keyframes fall{to{transform:translate(var(--drift,0), 110vh) rotate(360deg)}}@media (prefers-reduced-motion:reduce){.snow{display:none}.pair{animation:none!important}}.hero,main,footer{z-index:1;position:relative}.hero{text-align:center;max-width:760px;color:var(--snow);margin:0 auto;padding:48px 16px 24px}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:0;font-size:.85rem}h1{font-family:var(--title-font);text-shadow:0 4px 24px #00000059;margin:4px 0 8px;font-size:clamp(3rem,12vw,5.5rem);font-weight:700;line-height:1}.tagline{color:#ffffffd9;max-width:560px;margin:0 auto;line-height:1.6}main{max-width:760px;margin:0 auto;padding:8px 16px 32px}.card{background:var(--paper);border-top:6px solid var(--red);border-radius:18px;margin-bottom:20px;padding:24px;position:relative;box-shadow:0 18px 40px #00000059}.card:nth-of-type(2n){border-top-color:var(--green)}h2{font-family:var(--title-font);align-items:center;gap:12px;margin:0 0 14px;font-size:1.9rem;font-weight:700;display:flex}.ornament{background:radial-gradient(circle at 35% 30%, #e0544a, var(--red-dark));width:36px;height:36px;color:var(--snow);border-radius:50%;flex:none;place-items:center;margin-top:6px;font-family:system-ui,sans-serif;font-size:1rem;font-weight:700;display:inline-grid;position:relative}.ornament:before{content:"";background:var(--gold);border-radius:2px;width:12px;height:7px;position:absolute;top:-6px}.card:nth-of-type(2n) .ornament{background:radial-gradient(circle at 35% 30%,#3f9c6a,#164d32)}.hint{color:var(--ink-soft);margin:0 0 14px;line-height:1.5}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}input,select,textarea{border:1.5px solid var(--paper-edge);background:var(--snow);min-width:0;color:var(--ink);font:inherit;border-radius:10px;flex:170px;padding:10px 12px}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}textarea{resize:vertical;width:100%}.field{gap:6px;margin:16px 0;font-weight:600;display:grid}.field em{color:var(--ink-soft);font-weight:400}.rule-word{color:var(--ink-soft);font-style:italic}button{background:var(--green);color:var(--snow);font:inherit;cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-weight:700;transition:transform .1s,filter .15s}button:hover:not(:disabled){filter:brightness(1.1)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:progress;opacity:.75}button.secondary{color:var(--green);border:1.5px solid var(--green);background:0 0}button.primary{background:linear-gradient(180deg, #d1352b, var(--red-dark));width:100%;padding:16px;font-size:1.15rem;box-shadow:0 6px #6d140f}button.remove{width:30px;height:30px;color:var(--ink-soft);background:0 0;border-radius:50%;flex:none;padding:0;font-weight:400}button.remove:hover{background:var(--paper-edge)}.people,.rules,.pairs{margin:14px 0 0;padding:0;list-style:none}.people{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;display:grid}.person{background:var(--green-soft);border-radius:12px;align-items:center;gap:10px;padding:8px 8px 8px 10px;display:flex}.avatar{background:var(--green);width:34px;height:34px;color:var(--snow);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.person-details{flex:1;min-width:0;display:grid}.person-details strong,.person-details small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.person-details small{color:var(--ink-soft)}.rule{border-top:1px dashed var(--paper-edge);overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;display:flex}.empty{color:var(--ink-soft);margin:14px 0 0;font-style:italic}.status{background:#fdf0e0;border-radius:10px;margin:16px 0 0;padding:10px 14px}.status.ok{background:var(--green-soft);color:var(--green);font-weight:600}.templates{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.template-card{border:2px solid var(--paper-edge);background:var(--snow);cursor:pointer;border-radius:14px;gap:8px;padding:8px;transition:border-color .15s,transform .15s;display:grid;position:relative}.template-card:hover{transform:translateY(-2px)}.template-card:has(input:checked){border-color:var(--red);box-shadow:0 0 0 3px #b8241c26}.template-card:has(input:focus-visible){outline:3px solid var(--gold);outline-offset:2px}.template-card input{opacity:0;pointer-events:none;position:absolute}.thumb{aspect-ratio:3/4;border-radius:8px;position:relative;overflow:hidden}.thumb iframe{pointer-events:none;transform-origin:0 0;width:600px;height:800px;transform:scale(var(--thumb-scale,.25));border:0;position:absolute;top:0;left:0}.template-text{gap:2px;display:grid}.template-text small{color:var(--ink-soft);line-height:1.35}.error{color:var(--error);margin:10px 0 0;font-weight:600}.error:empty{display:none}.success{background:var(--green-soft);color:var(--green);text-align:center;border-radius:12px;margin-top:16px;padding:16px}.success p{margin:0}.success-title{font-family:var(--title-font);font-size:1.7rem;font-weight:700;margin-bottom:6px!important}.practice{border-top-color:var(--gold)}.badge{background:var(--gold);color:var(--ink);border-radius:999px;padding:2px 10px;font-family:system-ui,sans-serif;font-size:.75rem;font-weight:700}.pair{border-top:1px dashed var(--paper-edge);overflow-wrap:anywhere;grid-template-columns:1fr auto 1fr;gap:10px;padding:8px 0;animation:.4s both unwrap;display:grid}.pair .arrow{white-space:nowrap}@keyframes unwrap{0%{opacity:0;transform:scale(.9)}}dialog{border:none;border-radius:16px;width:min(680px,100vw - 32px);height:min(860px,100vh - 32px);padding:0;overflow:hidden}dialog[open]{flex-direction:column;display:flex}dialog::backdrop{background:#04100cb3}.dialog-bar{background:var(--paper);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}dialog iframe{border:0;flex:1;width:100%}footer{text-align:center;color:#fff9;padding:8px 16px 40px}
