*{box-sizing:border-box}body{margin:0;background:#eff5f1;color:#102d22;font:18px/1.45 Arial,sans-serif}button,a,input{font:inherit}button{cursor:pointer;border:1px solid #466a53;border-radius:8px;padding:10px 16px;background:#fff;color:#102d22;font-weight:700}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #efb431;outline-offset:3px}a{color:#065a38}input[type=checkbox]{width:25px;height:25px;accent-color:#075e35;flex:none;cursor:pointer}h1,h2,p{margin-top:0}.voting{height:100dvh;overflow:hidden;background:#06452a}.party{height:100dvh;display:grid;grid-template-columns:52% 48%;background:#07532e url('/assets/santa-pulp.png') left center/cover no-repeat;padding:clamp(18px,3vh,36px)}.art{position:relative;min-width:0}.heading{color:#fff0bf;text-shadow:3px 3px 0 #132d1c;position:absolute;left:4%;top:0}.heading span,.eyebrow{font-weight:800;font-size:14px;letter-spacing:2px}.heading h1{font:bold clamp(38px,5vw,74px)/.98 Georgia,serif;margin:10px 0}.form{justify-self:end;align-self:center;width:min(100%,530px);background:#fff9e8;padding:clamp(20px,3.5vh,38px);border:3px solid #122c1c;box-shadow:7px 7px 0 #122c1c;border-radius:5px}.form h2{font:bold clamp(26px,3.5vh,38px)/1.1 Georgia,serif;margin-bottom:8px}.form .eyebrow{margin-bottom:10px;color:#6e351b}.form p{margin-bottom:14px}.form fieldset{border:0;padding:0;margin:0;display:grid;gap:10px}.date{display:flex;align-items:center;gap:16px;background:#fff;padding:clamp(10px,1.6vh,17px);border:2px solid #d0d8bd;border-radius:7px;cursor:pointer}.date:has(input:checked){background:#e3f0d8;border-color:#075e35}small{display:block;font-size:14px;color:#50604e}.shortcuts{display:grid;gap:12px;margin:18px 0}.shortcuts label{display:flex;gap:12px;align-items:center;cursor:pointer}.unavailable{opacity:.35}#save{width:100%;background:#075e35;color:white;padding:13px;border:0}.note{font-size:14px;color:#586451;margin:12px 0 0}.form #status{font-size:16px;font-weight:700;margin:10px 0 0;min-height:24px}.rotate{display:none}.sr-only{position:absolute;clip:rect(0,0,0,0);width:1px;height:1px;overflow:hidden}.dashboard{max-width:1250px;padding:32px 24px;margin:auto}.dashboard h1{font: bold 48px Georgia,serif;margin-bottom:12px}.totals{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.totals section{background:#07532e;color:white;padding:22px;border-radius:10px}.totals strong{display:block;font-size:44px;color:#ffe5a5}.tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.table-wrap{overflow:auto;margin-top:18px}table{width:100%;border-collapse:collapse;background:white;font-size:16px}td,th{text-align:left;padding:16px;border-bottom:1px solid #d3dece;white-space:nowrap}.poster-body{background:#06452a}.poster{min-height:100dvh;background:#07532e url('/assets/santa-pulp.png') center/cover no-repeat;display:flex;align-items:center;justify-content:flex-end;padding:5vw}.poster section{width:50%;color:#fff5c5;text-shadow:2px 2px 0 #122c1c}.poster h1{font:bold clamp(40px,6vw,95px)/1 Georgia,serif}.poster h2{font-size:32px}.poster-dates{font-weight:bold;font-size:22px}@media(max-height:650px) and (orientation:landscape){.party{padding:14px;grid-template-columns:48% 52%}.form{padding:14px 20px;font-size:16px}.form .eyebrow{font-size:12px;margin-bottom:6px}.form p{margin-bottom:8px}.form h2{font-size:26px}.date{padding:8px;gap:12px}.form fieldset{gap:7px}.shortcuts{margin:10px 0;gap:6px}#save{padding:10px}.note{font-size:12px}.form #status{font-size:14px;min-height:20px;margin-top:6px}.heading h1{font-size:42px}}@media(orientation:portrait) and (max-width:800px){.voting .party{display:none}.rotate{display:flex;height:100dvh;align-items:center;justify-content:center;text-align:center;color:#fff0bf;font-weight:bold;padding:25px}.totals{grid-template-columns:1fr}.dashboard h1{font-size:36px}}@media print{@page{size:A4 landscape;margin:0}.poster{height:100vh;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

.heading{background:#fff9e8;color:#102d22;text-shadow:none;border:3px solid #122c1c;box-shadow:6px 6px 0 #122c1c;padding:18px 24px;border-radius:5px}.heading h1{font-size:clamp(32px,4vw,62px)}.access{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:20px 0}.access label{display:grid;gap:6px}.access input{padding:10px;border:2px solid #466a53;border-radius:8px;max-width:100%}.graph{background:white;border:2px solid #d3dece;border-radius:10px;padding:20px;margin:20px 0}.graph-row{display:grid;grid-template-columns:180px 1fr 65px;align-items:center;gap:16px;margin:16px 0}.graph-track{background:#e1eade;height:28px;border-radius:5px;overflow:hidden}.graph-bar{background:#075e35;height:100%}.organiser-link{display:block;margin-top:12px;font-size:16px}.dashboard[hidden]{display:none}@media(max-height:650px){.heading{padding:10px 16px}.heading h1{font-size:34px}}

/* Centre the invitation title in the clear space above Santa. */
.party{position:relative}.art{position:static}.heading{left:50%;top:clamp(14px,3vh,30px);transform:translateX(-50%);text-align:center;width:max-content;max-width:38vw;padding:16px 24px}.heading h1{font-size:clamp(28px,3.3vw,58px)}@media(max-height:650px) and (orientation:landscape){.heading{padding:10px 14px;max-width:35vw}.heading h1{font-size:clamp(24px,3vw,38px)}.heading span{font-size:11px}}
