:root{color:#172033;background:#f5f2ea;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0}.shell{align-content:start;justify-items:center;gap:18px;min-height:100vh;padding:40px 18px;display:grid}.card{box-sizing:border-box;background:#ffffffeb;border:1px solid #1720331a;border-radius:24px;width:min(760px,100%);box-shadow:0 24px 80px #1720331f}.hero{padding:34px}.hero h1{letter-spacing:-.035em;margin:8px 0 10px;font-size:clamp(2rem,6vw,4rem);line-height:1.04}.hero p:last-child{color:#586174;margin:0;font-size:1.08rem}.eyebrow{color:#9a6a2f;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.participant-card{width:min(1180px,100%)}.participant-hero{padding:42px 46px}.participant-hero .poll-title{letter-spacing:-.018em;overflow-wrap:anywhere;text-wrap:balance;max-width:22ch;margin:12px 0 10px;font-size:clamp(2rem,3.5vw,3rem);font-weight:700;line-height:1.14}.participant-hero .poll-context{color:#9a6a2f;letter-spacing:-.006em;text-wrap:balance;max-width:46ch;margin:0 0 22px;font-size:clamp(1.02rem,1.7vw,1.3rem);font-weight:650;line-height:1.4}.form{gap:18px;padding:28px;display:grid}label,fieldset{gap:8px;font-weight:700;display:grid}input,textarea,select{font:inherit;color:#172033;background:#fffdf8;border:1px solid #d8d2c6;border-radius:14px;padding:13px 14px}textarea{resize:vertical;min-height:90px}fieldset{border:0;margin:0;padding:0}legend{margin-bottom:10px;font-weight:800}.slots{gap:10px;display:grid}.slot{cursor:pointer;background:#fffaf0;border:1px solid #e3ddd2;border-radius:16px;grid-template-columns:auto 1fr;align-items:center;padding:13px 14px}.slot:has(input:checked){background:#fff1d6;border-color:#b77b35}.slot input{width:18px;height:18px}.calendar-instruction{color:#6b7280;margin:-2px 0 12px;font-size:.94rem;font-weight:500}.calendar-scroll{scrollbar-color:#b77b35 #eee8dc;background:#fffdf8;border:1px solid #ded8cd;border-radius:18px;overflow-x:auto;box-shadow:inset 0 1px #fffc}.calendar-scroll:focus-visible{outline-offset:3px;outline:3px solid #b77b3559}.availability-calendar{grid-template-columns:88px repeat(var(--day-count), minmax(150px, 1fr));width:max-content;min-width:100%;display:grid}.calendar-header-row,.calendar-time-row{display:contents}.calendar-corner,.calendar-day-header,.calendar-time,.calendar-slot,.calendar-unavailable{box-sizing:border-box}.calendar-corner,.calendar-day-header{z-index:3;background:#f5f0e6;border-bottom:1px solid #ded8cd;min-height:78px;padding:14px 12px;position:sticky;top:0}.calendar-corner{z-index:5;color:#7b7164;letter-spacing:.08em;text-transform:uppercase;align-items:end;font-size:.76rem;font-weight:800;display:flex;left:0}.calendar-day-header{text-align:center;border-left:1px solid #e4ded4}.calendar-day-header span{color:#9a6a2f;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:850;display:block}.calendar-day-header strong{color:#172033;font-size:1.05rem;line-height:1.2;display:block}.calendar-time{z-index:2;color:#4f596b;white-space:nowrap;background:#faf7f0;border-bottom:1px solid #ece6dc;place-items:center;min-height:62px;padding:10px 8px;font-size:.82rem;font-weight:800;display:grid;position:sticky;left:0}.calendar-slot,.calendar-unavailable{border-bottom:1px solid #ece6dc;border-left:1px solid #ece6dc;min-height:62px}.calendar-slot{color:#384257;cursor:pointer;background:#fffdf8;grid-template-columns:none;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.88rem;font-weight:750;transition:background .16s,box-shadow .16s,color .16s;display:flex}.calendar-slot:hover{background:#fff7e8}.calendar-slot:has(input:checked){color:#70481e;background:#fff0d2;box-shadow:inset 0 0 0 2px #b77b35}.calendar-slot input{accent-color:#9a642c;width:18px;height:18px;margin:0}.calendar-unavailable{color:#c5beb2;background:#f8f5ef;place-items:center;display:grid}.hidden-field{position:absolute;left:-10000px}button{font:inherit;color:#fff;cursor:pointer;background:#172033;border:0;border-radius:999px;padding:15px 20px;font-weight:900}button:disabled{opacity:.5;cursor:not-allowed}.success{color:#126b3f;font-weight:800}.error{color:#9f2b2b;font-weight:800}.confirmation{gap:14px;padding:34px;display:grid}.confirmation h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.7rem,5vw,2.6rem)}.confirmation p{color:#586174;margin:0}.confirmation-mark{color:#fff;background:#126b3f;border-radius:50%;place-items:center;width:54px;height:54px;font-size:1.8rem;font-weight:900;display:grid}.submitted-times{gap:8px;margin:0;padding:0;list-style:none;display:grid}.submitted-times li{background:#eef8f1;border:1px solid #c7e6d1;border-radius:14px;padding:13px 15px;font-weight:800}.waiting-copy{padding:14px 0 4px}.secondary-button{color:#172033;background:#fff;border:2px solid #172033;width:fit-content}.two-column{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.compact{max-width:520px}.result{background:#eef8f1;border:1px solid #c7e6d1;border-radius:16px;gap:8px;padding:18px;display:grid}.result code{overflow-wrap:anywhere;color:#24523a;font-size:.88rem}@media (width<=620px){.two-column{grid-template-columns:1fr}.hero,.form{padding:22px}.participant-hero{padding:28px 24px}.participant-hero .poll-title{letter-spacing:-.012em;font-size:clamp(1.85rem,8vw,2.25rem);line-height:1.16}.participant-hero .poll-context{margin-bottom:18px;font-size:1rem;line-height:1.42}.participant-form{padding:20px 16px}.availability-calendar{grid-template-columns:76px repeat(var(--day-count), minmax(136px, 1fr))}.calendar-instruction{font-size:.88rem}}
