:root{--text:#4b4658;--text-h:#08060d;--bg:#fff;--panel-bg:#faf9fc;--border:#e5e4e7;--accent:#7c3aed;--accent-bg:#7c3aed1a;--match:#22c55e;--match-bg:#22c55e2e;--partial-bg:#7c3aed14;--error:#dc2626;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font:16px/145% system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--text:#b8b3c2;--text-h:#f3f4f6;--bg:#16171d;--panel-bg:#1c1d24;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--match:#4ade80;--match-bg:#4ade802e;--partial-bg:#c084fc1a;--error:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--text:#b8b3c2;--text-h:#f3f4f6;--bg:#16171d;--panel-bg:#1c1d24;--border:#2e303a;--accent:#c084fc;--accent-bg:#c084fc26;--match:#4ade80;--match-bg:#4ade802e;--partial-bg:#c084fc1a;--error:#f87171;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}h1,h2{color:var(--text-h);margin:0;font-weight:600}.app{max-width:720px;margin:0 auto;padding:24px 16px 64px;position:relative}.corner-links{align-items:center;gap:12px;display:flex;position:absolute;top:24px;right:16px}.corner-links a{color:var(--accent);font-size:14px;text-decoration:none}.corner-links a:hover{text-decoration:underline}.theme-toggle{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;display:flex}.theme-toggle:hover{color:var(--accent);border-color:var(--accent)}.brand{color:var(--text-h);align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-logo{display:block}.brand-name{font-weight:700}.brand-sm{gap:10px;margin-bottom:24px}.brand-sm .brand-logo{width:36px;height:36px}.brand-sm .brand-name{font-size:24px}.brand-lg{justify-content:center;gap:10px}.brand-lg .brand-logo{width:42px;height:42px}.brand-lg .brand-name{font-size:26px}.event-setup{flex-direction:column;gap:16px;max-width:720px;margin:48px auto 0;display:flex}.subtitle{text-align:center;margin:0;font-size:17px}.feature-strip{text-align:center;color:var(--text);margin:-8px 0 0;font-size:12px}.feature-strip a{color:var(--accent)}.event-setup label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.event-setup input,.event-setup textarea{font:inherit;border:1px solid var(--border);background:var(--panel-bg);color:var(--text-h);resize:vertical;border-radius:8px;padding:10px 12px}.date-range-field{flex-direction:column;gap:6px;display:flex}.date-range-picker{position:relative}.date-range-picker .date-range-trigger{width:100%;font:inherit;text-align:left;border:1px solid var(--border);background:var(--panel-bg);color:var(--text-h);cursor:pointer;border-radius:8px;padding:10px 12px}.date-range-popover{z-index:20;border:1px solid var(--border);background:var(--bg);border-radius:12px;flex-direction:column;gap:16px;width:max-content;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 8px 24px #00000026}.date-range-nav{align-items:center;gap:8px;display:flex}.date-range-nav .date-range-nav-btn{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text-h);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.date-range-nav .date-range-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.date-range-nav .date-range-nav-btn:disabled{opacity:.3;cursor:not-allowed}.date-range-months{gap:16px;display:flex}.date-range-scroll-months{flex-direction:column;gap:16px;max-height:60vh;display:flex;overflow-y:auto}.month-card.range-month-card{padding:8px 12px}.range-month-card .month-card-header-static{padding:0}.date-range-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.date-range-actions button[type=button]:not(.link-button){font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 16px;font-weight:600}.date-range-actions button:disabled{opacity:.5;cursor:not-allowed}.calendar-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.calendar-grid.dragging{-webkit-user-select:none;user-select:none}.month-card{border:1px solid var(--border);background:var(--panel-bg);border-radius:12px;flex-direction:column;gap:8px;padding:12px;display:flex}.month-card .month-card-header{font:inherit;color:var(--text-h);cursor:pointer;text-align:center;background:0 0;border:none;border-radius:6px;padding:6px;font-size:14px;font-weight:600}.month-card-header:hover{background:var(--accent-bg);color:var(--accent)}.month-card-weekdays,.month-card-days{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.month-card-weekdays span{text-align:center;color:var(--text);font-size:11px}.cal-day{aspect-ratio:1;background:var(--bg);color:var(--text-h);cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex;position:relative}.cal-day-tooltip{background:var(--text-h);color:var(--bg);white-space:pre-line;text-align:center;opacity:0;visibility:hidden;pointer-events:none;z-index:10;border-radius:6px;width:max-content;max-width:200px;padding:6px 10px;font-size:12px;font-weight:400;line-height:1.4;transition:opacity .1s;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.cal-day:hover .cal-day-tooltip{opacity:1;visibility:visible}.cal-day.blank{cursor:default;background:0 0}.cal-day.selected{background:var(--accent);color:#fff;font-weight:600}.cal-day.disabled{opacity:.3;cursor:not-allowed}.cal-day.range-start,.cal-day.range-end{background:var(--accent);color:#fff;font-weight:600}.cal-day.range-in-range{background:var(--accent-bg)}.month-card-header-static{font:inherit;text-align:center;color:var(--text-h);padding:6px;font-size:14px;font-weight:600}.cal-day.match{background:var(--match);color:#fff;font-weight:600}.cal-day.partial{background:color-mix(in srgb, var(--accent) var(--fill-percent,30%), var(--bg))}.range-total{color:var(--text);text-align:center;margin:0;font-size:14px}.error{color:var(--error);margin:-8px 0 0;font-size:14px}.create-error{text-align:center;max-width:420px;margin:12px auto 0}.status-message{text-align:center;margin-top:64px}.status-message.error{margin-top:64px}.event-setup button,.overlap-view button{font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:12px 16px;font-weight:600}.event-setup button:disabled{opacity:.5;cursor:not-allowed}.event-header{margin-bottom:24px}.event-header-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.event-description{color:var(--text);white-space:pre-wrap;margin:8px 0 0;font-size:15px}.link-button{color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:0}.header-actions{flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.event-editor-modal{border:1px solid var(--border);background:var(--panel-bg);color:var(--text-h);border-radius:12px;flex-direction:column;gap:16px;width:min(90vw,720px);max-height:85vh;padding:20px 0 20px 20px;display:flex}.event-editor-modal::backdrop{background:#00000080}.event-editor-modal-body{overscroll-behavior:contain;scrollbar-gutter:stable;flex-direction:column;gap:16px;min-height:0;padding-right:20px;display:flex;overflow-y:auto}.event-editor-modal-body label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.event-editor-modal-body .checkbox-label{flex-direction:row;align-items:center;gap:8px}.event-editor-modal-body .checkbox-label input{width:auto}.event-editor-modal-body input:not([type=checkbox]),.event-editor-modal-body textarea{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);resize:vertical;border-radius:8px;padding:10px 12px}.people-editor{flex-direction:column;gap:8px;display:flex}.people-editor-label{color:var(--text-h);margin:0;font-size:14px;font-weight:500}.people-editor-row{align-items:center;gap:8px;display:flex}.people-editor-row input{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;flex:1;padding:10px 12px}.people-editor .people-editor-remove{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.people-editor .people-editor-remove:hover:not(:disabled){color:var(--error);border-color:var(--error)}.people-editor .people-editor-remove:disabled{opacity:.4;cursor:not-allowed}.people-editor .people-editor-add{font:inherit;border:1px dashed var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:500}.people-editor .people-editor-add:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.people-editor .people-editor-add:disabled{opacity:.4;cursor:not-allowed}.event-editor-actions{align-items:center;gap:16px;padding-right:20px;display:flex}.event-editor-actions button[type=button]:not(.link-button){font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:10px 16px;font-weight:600}.event-editor-actions button:disabled{opacity:.5;cursor:not-allowed}.availability-section{border-top:1px solid var(--border);margin-bottom:24px;padding-top:24px}.availability-section .section-title{margin-bottom:16px}.person-selector{flex-wrap:wrap;gap:16px;margin-bottom:16px;display:flex}.person-selector label{color:var(--text-h);flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.person-selector select,.person-selector input{font:inherit;border:1px solid var(--border);background:var(--panel-bg);color:var(--text-h);border-radius:8px;padding:8px 10px}.person-actions{align-self:flex-end;align-items:center;gap:12px;display:flex}.person-actions button[type=button]:not(.link-button){font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 14px;font-size:14px;font-weight:600}.person-actions button:disabled{opacity:.5;cursor:not-allowed}.person-availability-calendar{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.calendar-caption{color:var(--text);margin:0;font-size:14px}.day-picker{flex-direction:column;gap:6px;display:flex}.day-cell{font:inherit;text-align:left;border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;padding:10px 12px}.day-cell.selected{background:var(--accent-bg);border-color:var(--accent);font-weight:600}.overlap-view{border-top:1px solid var(--border);padding-top:24px}.overlap-view-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.section-title{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.jump-link{color:var(--accent);white-space:nowrap;font-size:14px;text-decoration:none}.jump-link:hover{text-decoration:underline}.view-mode-selector{gap:8px;display:flex}.overlap-view .view-mode-selector button{font:inherit;border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:14px;font-weight:500}.overlap-view .view-mode-selector button.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.overlap-grid-scroll{overflow-x:auto}.overlap-grid{border-collapse:collapse}.overlap-grid th,.overlap-grid td{border:1px solid var(--border)}.overlap-grid thead th{background:var(--panel-bg);padding:4px 2px}.grid-date-label{writing-mode:vertical-rl;color:var(--text-h);white-space:nowrap;font-size:11px;transform:rotate(180deg)}.overlap-grid th.weekend,.overlap-grid td.weekend{filter:brightness(.9)}.row-label{background:var(--bg);text-align:left;color:var(--text-h);white-space:nowrap;z-index:1;padding:6px 12px;font-size:14px;font-weight:500;position:sticky;left:0}.row-label.corner{background:var(--panel-bg);z-index:2}.combined-row .row-label{font-weight:700}.grid-cell{background:var(--bg);width:24px;min-width:24px;height:24px;padding:0}.grid-cell.filled{background:var(--accent)}.grid-cell.match{background:var(--match)}.grid-cell.partial{background:var(--partial-bg)}.grid-cell.inactive{background:var(--border);opacity:.5}.overlap-cell{cursor:default;justify-content:space-between;align-items:center;gap:12px;display:flex}.overlap-cell.partial{background:var(--partial-bg)}.overlap-cell.match{background:var(--match-bg);border-color:var(--match);font-weight:600}.overlap-cell small{color:var(--text);white-space:nowrap;font-weight:400}@media (width<=640px){.calendar-grid{grid-template-columns:1fr}.event-header-top{flex-direction:column;align-items:flex-start;gap:8px}.date-range-popover{width:100%}}
