*{margin:0;padding:0;box-sizing:border-box}*:focus{outline:none}*:focus-visible{outline:1px solid var(--focus-ring);outline-offset:-1px}:root{--white: rgba(255, 255, 255, 1);--off-white: rgba(252, 252, 252, 1);--light-gray: rgba(245, 245, 245, 1);--silver: rgba(231, 231, 231, 1);--focus-ring: rgba(180, 180, 180, 1);--gray: rgba(102, 102, 102, 1);--charcoal: rgba(26, 26, 26, 1);--shadow-gray: rgba(232, 232, 232, 1);--color-success: rgba(22, 163, 74, 1);--color-warning: rgba(230, 119, 0, 1);--color-error: rgba(220, 38, 38, 1);--color-green: rgba(20, 200, 70, .6);--color-overlap-1: rgba(10, 185, 55, .75);--color-overlap-2: rgba(0, 165, 45, .9);--color-overlap-3: rgba(0, 140, 35, 1);--color-overlap-4: rgba(0, 97, 22, 1);--color-overlap-5: rgba(0, 55, 10, 1);--radius: 12px;--radius-lg: 16px;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-display: Helvetica, Arial, sans-serif;--shadow-outer: 0 5px 5px -2px rgb(0 0 0 / .06), 0 2px 4px -2px rgb(0 0 0 / .06);--shadow-inset-bottom: inset 0 -3px 6px -2px var(--shadow-gray);--island-bg: var(--white);--island-radius: var(--radius-lg);--island-border: 1px solid rgba(230, 230, 230, 1);--island-shadow: var(--shadow-inset-bottom), 0 2px 8px rgba(0, 0, 0, .08)}body{font-family:var(--font-body);background:var(--light-gray);color:var(--charcoal);line-height:1.5;-webkit-text-size-adjust:100%}.page-wrapper{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;width:min(480px,100% - 16px);margin:0 auto;padding:2rem 0}.app-name{margin-bottom:1.25rem}.app-name__title,.app-name__tagline{font-family:var(--font-display)}.app-name__title{font-size:2.5rem;font-weight:700;letter-spacing:-.04em;line-height:.85}.app-name__title a{color:inherit;text-decoration:none}.app-name__tagline{font-size:1.02rem;font-weight:400;letter-spacing:.01em;color:var(--gray)}.event-header{margin-bottom:1.25rem}.event-header__title,.event-header__dates{font-family:var(--font-body)}.event-header__title{font-size:2.5rem;font-weight:700;letter-spacing:-.04em;line-height:.85}.event-header__dates{font-size:.9rem;font-weight:400;letter-spacing:.01em;color:var(--gray);margin-top:.4rem}.island{background:var(--island-bg);padding:1.5rem 1.5rem 1.7rem;border-radius:var(--island-radius);border-bottom:var(--island-border);box-shadow:var(--island-shadow)}.form__group{margin-bottom:1.25rem}.form__label{display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.form__inline{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.form__inline-text{font-size:.9rem;color:var(--gray)}.form__input,.form__select{width:100%;padding:.75rem;font-family:inherit;font-size:1rem;color:var(--charcoal);background:var(--white);border:1px solid var(--silver);border-radius:var(--radius);box-shadow:inset 0 2px 4px -1px #00000014;transition:border-color .15s,box-shadow .15s}.form__input:focus,.form__select:focus{outline:none;border-color:#d5d5d5;box-shadow:inset 0 3px 4px -2px #0003,inset 0 -2px 3px -2px #00000014,inset 0 0 3px #0000000f}.form__input::placeholder{color:var(--gray)}.form__input--inline,.form__select--inline{width:auto;flex:1;min-width:0}.form__select{padding-right:2.5rem;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.button{padding:.75rem .875rem;font-family:inherit;font-size:.9rem;font-weight:450;color:#444;text-decoration:none;background:var(--white);background-clip:padding-box;border:1px solid rgb(0 0 0 / .1);border-radius:.75rem;box-shadow:var(--shadow-inset-bottom),var(--shadow-outer);cursor:pointer;transition:box-shadow .1s;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.button:hover,.button:focus{outline:none;box-shadow:inset 0 -4px 8px -2px #ddd,var(--shadow-outer)}.button:active,.button:active:focus{color:var(--charcoal);background:#fdfdfd;box-shadow:inset 0 3px 8px -2px #00000026,inset 0 -2px 3px -2px #0000000f}.button:disabled{color:#999;background:var(--light-gray);box-shadow:none;cursor:not-allowed}.button--circle{width:2.25rem;height:2.25rem;padding:0;border-radius:50%;border-color:#00000014;display:inline-flex;align-items:center;justify-content:center}.button--circle svg{width:1rem;height:1rem}.button--circle:hover,.button--circle:focus{box-shadow:inset 0 -3px 6px -1px #c8c8c8,var(--shadow-outer);transition:box-shadow .1s}.form__submit-wrapper{position:relative;margin-top:.5rem}.form__submit{width:100%}.form-error{position:absolute;top:100%;left:.2rem;font-size:.8rem;color:var(--color-error);margin-top:.25rem}.form-error:empty{display:none}.footer{text-align:center;padding:1.5rem 1rem;font-size:.8rem;color:#999;letter-spacing:.02em}.footer__link{font-weight:500;color:inherit;text-decoration:none;transition:color .15s}.footer__link:hover{color:var(--charcoal)}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:#eee;margin-top:.5rem;margin-bottom:.5rem;user-select:none;touch-action:pan-y;border:1px solid var(--silver);border-bottom:none;border-top-left-radius:6px;border-top-right-radius:6px;overflow:hidden auto;max-width:100%}.calendar--animating{transition:max-height .25s ease-out}.calendar--no-resize{border-bottom:1px solid var(--silver);border-bottom-left-radius:6px;border-bottom-right-radius:6px}.calendar__header-row{grid-column:1 / -1;display:grid;grid-template-columns:repeat(7,1fr);position:sticky;top:0;z-index:2;background:#fff9;backdrop-filter:blur(12px);border-bottom:1px solid var(--silver);box-shadow:0 10px 15px -2px #00000008;margin-bottom:-1px}.calendar__header{font-size:.7rem;font-weight:500;color:var(--gray);text-align:center;padding:.25rem 0}.calendar__day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:.8rem;cursor:pointer;background:var(--white);user-select:none;-webkit-user-select:none;touch-action:manipulation;position:relative}.calendar__day:after{content:"";position:absolute;inset:0;pointer-events:none;background:transparent}@media (hover: hover){.calendar__day:hover:not(.calendar__day--disabled):after{background:#0000001a}.calendar__day:hover:is(.calendar__day--selected,.calendar__day--participant-highlight,.calendar__day--preview):after{background:#ffffff4d}.grid-section--drag-select .calendar__day:hover:not(.calendar__day--disabled):after,.grid-section--drag-select .calendar__day:hover:is(.calendar__day--selected,.calendar__day--participant-highlight,.calendar__day--preview):after{background:#0000001a}.grid-section--drag-deselect .calendar__day:hover:not(.calendar__day--disabled):after{background:#ffffff4d}}.calendar__day--disabled{background:#f4f4f4;color:#d7d7d7;cursor:default}.calendar__day--selected,.calendar__day--selected.calendar__day--weekend{background:var(--color-green);color:var(--charcoal)}.calendar__day--weekend{background:#f8f8f8}.calendar__day--preview,.calendar__day--preview.calendar__day--weekend{background:var(--color-green)}.calendar__day--weekend.calendar__day--disabled{background:#f0f0f0}.calendar__day--first{position:relative;overflow:visible;z-index:1}.calendar__month-label{position:absolute;top:2px;left:5px;font-size:.85rem;font-weight:600;color:var(--charcoal);line-height:1;white-space:nowrap}.calendar__check{font-size:.65rem;color:#00641ee6;line-height:1;margin-top:1px}.calendar__day--heat-1{background:#6496ff80}.calendar__day--heat-2{background:#3c78ffb3}.calendar__day--heat-3{background:#1e5affd9}.calendar__day--heat-4{background:#003cdc;color:var(--off-white)}.calendar__day--heat-5{background:#0028b4;color:var(--off-white)}.calendar__day--selected.calendar__day--heat-1{background:var(--color-overlap-1)}.calendar__day--selected.calendar__day--heat-2{background:var(--color-overlap-2)}.calendar__day--selected.calendar__day--heat-3{background:var(--color-overlap-3)}.calendar__day--selected.calendar__day--heat-4{background:var(--color-overlap-4);color:var(--off-white)}.calendar__day--selected.calendar__day--heat-5{background:var(--color-overlap-5);color:var(--off-white)}.calendar__day--preview.calendar__day--heat-1{background:var(--color-overlap-1)}.calendar__day--preview.calendar__day--heat-2{background:var(--color-overlap-2)}.calendar__day--preview.calendar__day--heat-3{background:var(--color-overlap-3)}.calendar__day--preview.calendar__day--heat-4{background:var(--color-overlap-4);color:var(--off-white)}.calendar__day--preview.calendar__day--heat-5{background:var(--color-overlap-5);color:var(--off-white)}.calendar__day--fake{opacity:.7}.grid-section--highlight-mode:not(.grid-section--highlight-self) .calendar__day{cursor:default}.grid-section--highlight-mode .calendar__day:is(.calendar__day--heat-1,.calendar__day--heat-2,.calendar__day--heat-3,.calendar__day--heat-4,.calendar__day--heat-5,.calendar__day--selected){background:#d4d4d4;color:var(--charcoal)}.grid-section--highlight-mode.grid-section--highlight-self-locked .calendar__day:is(.calendar__day--heat-1,.calendar__day--heat-2,.calendar__day--heat-3,.calendar__day--heat-4,.calendar__day--heat-5,.calendar__day--selected){background:var(--white);color:var(--charcoal)}.grid-section--highlight-mode.grid-section--highlight-self-locked .calendar__day--weekend:is(.calendar__day--heat-1,.calendar__day--heat-2,.calendar__day--heat-3,.calendar__day--heat-4,.calendar__day--heat-5,.calendar__day--selected){background:#f8f8f8;color:var(--charcoal)}.grid-section--highlight-mode .calendar__day.calendar__day--participant-highlight,.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--participant-highlight,.grid-section--highlight-mode.grid-section--highlight-self-locked .calendar__day.calendar__day--participant-highlight{background:var(--highlight-color)}.grid-section--highlight-mode:not(.grid-section--highlight-self) .calendar__day{pointer-events:none}.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--preview,.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--preview.calendar__day--heat-1,.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--preview.calendar__day--heat-2,.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--preview.calendar__day--heat-3,.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--preview.calendar__day--heat-4,.grid-section--highlight-mode.grid-section--highlight-self .calendar__day.calendar__day--preview.calendar__day--heat-5{background:var(--color-green)}.calendar__resize-handle{height:12px;cursor:grab;background:var(--white);border:1px solid var(--silver);border-top-color:#ebebeb;border-bottom-left-radius:6px;border-bottom-right-radius:6px;box-shadow:0 -10px 15px -2px #0000000a;position:relative;display:flex;align-items:center;justify-content:center}@media (hover: none){.calendar{border-bottom:1px solid var(--silver);border-radius:6px}.calendar__resize-handle{cursor:default;height:0;border:none}.calendar__resize-handle:before{display:none}}.calendar__resize-handle:before{content:"";width:28px;height:4px;background:#ccc;border-radius:2px;transition:background .1s}.calendar__resize-handle:hover:before{background:#999}body.is-resizing{user-select:none}body.is-resizing,body.is-resizing *{cursor:grabbing!important}@media (max-width: 540px){:root{--mobile-padding: .5rem;--island-bg: transparent;--island-radius: 0;--island-border: none;--island-shadow: none}.page-wrapper{min-height:100dvh}.main-content{width:100%;padding:.7rem 0 1rem}.app-name{text-align:center;margin-bottom:.75rem;padding:0 var(--mobile-padding)}.app-name__title{font-size:1.8rem}.app-name__tagline{font-size:.8rem}.event-header{padding:0 var(--mobile-padding);margin-bottom:.65rem}.event-header__dates{margin-top:0}.island{padding:0}.form__label{padding:0 var(--mobile-padding);margin-bottom:.15rem}.form__input,.form__select{margin:0 var(--mobile-padding);width:calc(100% - 2 * var(--mobile-padding))}.form__input--inline,.form__select--inline{min-width:0;margin:0;width:auto}.form__inline{padding:0 var(--mobile-padding)}.form__toggle{margin:0 var(--mobile-padding)}.form__submit-wrapper{margin-top:.25rem;padding:0 var(--mobile-padding);text-align:center}.form__submit{width:auto;padding-left:1.5rem;padding-right:1.5rem}.form--timeslot .form__submit-wrapper{margin-top:.75rem}.form__group{margin-bottom:.5rem}.calendar{border-radius:0;border-left:none;border-right:none}.calendar__month-label{left:var(--mobile-padding);top:4px}.calendar__resize-handle{border-radius:0;border-left:none;border-right:none}.footer{padding:.75rem var(--mobile-padding) .6rem}}
