:root{color-scheme:light dark;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;--fs-body: .8125rem;--fs-label: .75rem;--fs-micro: .6875rem;--bg: #ffffff;--bg-sidebar: #fbfbfa;--surface: #ffffff;--text: #37352f;--text-secondary: #787774;--text-faint: #9b9a97;--hairline: rgba(55, 53, 47, .09);--hairline-strong: rgba(55, 53, 47, .16);--hover: rgba(55, 53, 47, .06);--accent: #2383e2;--today: #eb5757;--warn: #d9822b;--event-text-mix: #1d1c1a;--event-bg-mix: #ffffff;--shadow: 0 1px 2px rgba(15, 15, 15, .04), 0 4px 16px rgba(15, 15, 15, .08)}@media(prefers-color-scheme:dark){:root{--bg: #191919;--bg-sidebar: #202020;--surface: #191919;--text: #d4d4d2;--text-secondary: #9b9b98;--text-faint: #6f6f6c;--hairline: rgba(255, 255, 255, .08);--hairline-strong: rgba(255, 255, 255, .14);--hover: rgba(255, 255, 255, .055);--warn: #e0932f;--event-text-mix: #f4f4f2;--event-bg-mix: #191919;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 4px 16px rgba(0, 0, 0, .4)}}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.splash{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--text);letter-spacing:-.01em}.splash h1{font-size:2rem;font-weight:700;margin:0}.tagline{color:var(--text-secondary);margin:0 0 12px}.primary-button{background:var(--accent);color:#fff;padding:8px 18px;border-radius:6px;text-decoration:none;font-weight:500;transition:opacity .12s ease}.primary-button:hover{opacity:.9}.app{position:relative;display:grid;grid-template-columns:var(--sidebar-width, 240px) 1fr var(--right-col, 0px);height:100vh;overflow:hidden}.app.sidebar-hidden{grid-template-columns:0 1fr var(--right-col, 0px)}.app.panel-open{--right-col: var(--panel-width, 320px)}.sidebar{grid-column:1}.main{grid-column:2}.event-panel{grid-column:3}.sidebar{background:var(--bg-sidebar);border-right:1px solid var(--hairline);display:flex;flex-direction:column;padding:14px 8px 12px;gap:18px;overflow:hidden;container:sidebar / inline-size}.sidebar-resizer{position:absolute;top:0;bottom:0;left:calc(var(--sidebar-width, 240px) - 3px);width:7px;cursor:col-resize;z-index:10}.sidebar-resizer:hover,.sidebar-resizer.dragging{background:linear-gradient(to right,transparent 2px,var(--accent) 2px,var(--accent) 4px,transparent 4px)}.event-panel{background:var(--surface);border-left:1px solid var(--hairline);display:flex;flex-direction:column;overflow:hidden}.panel-header{display:flex;align-items:center;gap:6px;padding:10px 14px;border-bottom:1px solid var(--hairline)}.panel-header h2{flex:1;margin:0;font-size:.9rem;font-weight:600}.panel-actions{display:flex;align-items:center;gap:8px;color:var(--text-faint)}.panel-body{flex:1;overflow-y:auto;padding:14px}.panel-event-title{margin:0 0 12px;font-size:1.05rem;font-weight:600;line-height:1.3}.event-panel .popover-time,.event-panel .popover-meta,.event-panel .popover-join,.event-panel .popover-location,.event-panel .popover-attendees,.event-panel .popover-description,.event-panel .popover-travel{margin-top:10px}.panel-empty{flex:1;display:flex;flex-direction:column;gap:16px;padding:18px 16px;overflow-y:auto;font-size:.85rem;color:var(--text-faint)}.panel-empty-hint{margin:0;line-height:1.5}.shortcut-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.shortcut-list li{display:flex;align-items:center;justify-content:space-between;gap:12px}.shortcut-keys{display:flex;align-items:center;gap:3px;flex-shrink:0}.shortcut-label{text-align:right;color:var(--text-secondary)}.panel-empty kbd{font:inherit;font-size:.72rem;min-width:18px;padding:1px 5px;text-align:center;color:var(--text-secondary);background:var(--surface);border:1px solid var(--hairline-strong);border-bottom-width:2px;border-radius:4px}.panel-resizer{position:absolute;top:0;bottom:0;right:calc(var(--panel-width, 320px) - 3px);width:7px;cursor:col-resize;z-index:10}.panel-resizer:hover,.panel-resizer.dragging{background:linear-gradient(to left,transparent 2px,var(--accent) 2px,var(--accent) 4px,transparent 4px)}.sidebar-section-title{margin:0;padding:0 8px;font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint)}.add-calendar{display:block;margin-top:2px;padding:5px 8px;border-radius:4px;font-size:var(--fs-body);color:var(--text-faint);text-decoration:none;transition:background .1s ease}.add-calendar:hover{background:var(--hover);color:var(--text)}.mini-month{padding:0 4px}.mini-month-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px 8px}.mini-month-title{font-size:var(--fs-label);font-weight:600}.mini-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.mini-dow{text-align:center;font-size:var(--fs-micro);color:var(--text-faint);padding:2px 0}.mini-day{height:26px;border-radius:4px;font-size:var(--fs-micro);font-weight:500;color:var(--text);display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;transition:background .1s ease}.mini-day.weekend{color:var(--text-secondary)}@container sidebar (min-width: 300px){.mini-month-title{font-size:.875rem}.mini-dow,.mini-day{font-size:.8125rem}.mini-day{height:32px}}.mini-day:hover{background:var(--hover)}.mini-day.outside{color:var(--text-faint)}.mini-day.in-week{background:var(--hover)}.mini-day.today{background:var(--today);color:#fff;font-weight:600}.calendar-list{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:18px;margin-top:-8px}.calendar-group-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px 5px}.group-email{font-size:var(--fs-label);font-weight:600;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-item{display:flex;align-items:center;width:100%;border-radius:4px;transition:background .1s ease}.calendar-item:hover{background:var(--hover)}.calendar-toggle{display:flex;align-items:center;gap:8px;flex:1;min-width:0;padding:5px 8px;text-align:left}.calendar-item.hidden .cal-name{color:var(--text-faint)}.cal-info-toggle{flex-shrink:0;width:20px;height:20px;margin-right:6px;border-radius:4px;font-size:11px;font-weight:700;font-style:italic;font-family:Georgia,Times New Roman,serif;line-height:1;color:var(--text-faint);opacity:.5;transition:opacity .1s ease,color .1s ease,background .1s ease}.calendar-item:hover .cal-info-toggle,.cal-info-toggle.active{opacity:1}.cal-info-toggle:hover{background:var(--hover);color:var(--text-secondary)}.cal-info-toggle.active{color:var(--accent)}.cal-checkbox{width:14px;height:14px;border-radius:4px;border:1.5px solid var(--cal-color);flex-shrink:0;position:relative;transition:background .1s ease}.cal-checkbox.checked{background:var(--cal-color)}.cal-checkbox.checked:after{content:"";position:absolute;top:2px;right:3.5px;bottom:4px;left:3.5px;border:solid white;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.cal-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-body)}.sidebar-footer{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--hairline);padding-top:10px}.ghost-button{display:block;padding:6px 8px;border-radius:4px;color:var(--text-secondary);font-size:var(--fs-body);text-decoration:none;text-align:left;transition:background .1s ease}.ghost-button:hover{background:var(--hover)}.settings-button{display:flex;align-items:center;gap:8px}.reauth{color:var(--today);font-size:var(--fs-micro);text-decoration:none}.main{display:flex;flex-direction:column;overflow:hidden}.topbar{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--hairline)}.month-title{font-size:1.05rem;font-weight:600;margin:0;letter-spacing:-.01em}.sidebar-toggle{color:var(--text-faint);margin-right:4px}.sidebar-toggle:hover{color:var(--text)}.topbar-right{margin-left:auto;display:flex;align-items:center;gap:4px}.panel-toggle{color:var(--text-faint)}.panel-toggle:hover{color:var(--text)}.topbar-controls{display:flex;align-items:center;gap:2px}.settings-modal{position:static;margin:0;border:none;color:inherit;background:var(--surface);border-radius:12px;box-shadow:var(--shadow);width:min(820px,94vw);height:min(640px,88vh);padding:0;display:flex;overflow:hidden}.settings-rail{width:170px;flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--hairline);padding:14px 8px;display:flex;flex-direction:column;gap:2px}.about-settings a{color:var(--text-secondary);text-decoration:underline}.settings-rail h2{margin:0 0 8px;padding:0 8px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.settings-tab{text-align:left;padding:6px 8px;border-radius:5px;font-size:.85rem;color:var(--text-secondary);transition:background .1s ease}.settings-tab:hover{background:var(--hover)}.settings-tab.active{background:var(--hover);color:var(--text);font-weight:600}.settings-content{position:relative;flex:1;padding:18px 22px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.settings-close{position:absolute;top:10px;right:12px}.settings-section-header{display:flex;align-items:baseline;justify-content:space-between;padding-right:28px}.settings-section-header h3{margin:0 0 4px;font-size:.95rem}.tz-settings,.accounts-settings{display:flex;flex-direction:column;gap:8px}.accounts-settings{flex:1}.connect-link{font-size:var(--fs-micro)}.connect-link>summary{cursor:pointer;padding:4px 8px;border-radius:4px;color:var(--text-faint)}.connect-link>summary:hover{background:var(--hover);color:var(--text-secondary)}.connect-link-body{display:flex;flex-direction:column;gap:8px;padding:6px 8px 2px;color:var(--text-secondary)}.connect-link-body p{margin:0}.connect-link-row{display:flex;gap:8px}.connect-link-url{flex:1;min-width:0;font:inherit;font-size:var(--fs-micro);padding:4px 8px;border-radius:5px;border:1px solid var(--hairline-strong);color:var(--text);background:var(--surface)}.connect-link-note{color:var(--text-faint)}.connect-link-error{color:var(--today)}.tz-count{font-size:.72rem;color:var(--text-faint)}.settings-title{margin:0 0 4px;font-size:1rem}.event-defaults{margin-bottom:22px}.duration-field select{font:inherit;font-size:.85rem;color:inherit;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:6px;padding:6px 28px 6px 9px}.duration-field select:focus{outline:none;border-color:var(--text-faint)}.settings-group-label{display:flex;align-items:baseline;gap:8px;margin:10px 0 2px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint)}.settings-group-hint{font-weight:400;letter-spacing:0}.tz-row{position:relative;display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:6px}.tz-row:hover{background:var(--hover)}.tz-chip{display:inline-flex;align-items:center;justify-content:center;min-width:42px;padding:2px 7px;border-radius:5px;font-size:.72rem;font-weight:700;letter-spacing:.02em;background:var(--hover);color:var(--text-secondary);flex-shrink:0}.tz-chip-input{font:inherit;font-size:.72rem;font-weight:700;width:58px;border:1px solid transparent;text-align:center}.tz-chip-input:hover,.tz-chip-input:focus{border-color:var(--hairline-strong);background:var(--surface);outline:none}.tz-row-main{flex:1;min-width:0;display:flex;flex-direction:column}.tz-city{font-size:.85rem;font-weight:500}.tz-sub{font-size:.72rem;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tz-time{font-size:.8rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-shrink:0}.tz-remove{opacity:0}.tz-row:hover .tz-remove{opacity:1}.tz-drag{position:absolute;left:-8px;opacity:0;cursor:grab;font-size:.7rem;letter-spacing:-2px;color:var(--text-faint);-webkit-user-select:none;user-select:none;padding:4px 2px}.tz-row:hover .tz-drag{opacity:1}.tz-row.dragging{opacity:.4}.tz-empty{margin:0;padding:2px 8px;font-size:.78rem;color:var(--text-faint)}.dev-bias-presets{display:flex;flex-wrap:wrap;gap:6px;padding:8px}.dev-bias-custom{display:flex;flex-direction:column;gap:4px;padding:4px 8px;font-size:.78rem;color:var(--text-secondary)}.dev-bias-custom .ghost-input{border:1px solid var(--hairline-strong);max-width:220px}.ghost-event{position:absolute;left:2px;right:4px;z-index:3;pointer-events:none;display:flex;align-items:flex-start;padding:3px 8px;font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:.01em;color:color-mix(in srgb,var(--accent, #4f7cff) 62%,var(--event-text-mix));background:color-mix(in srgb,var(--accent, #4f7cff) 15%,var(--event-bg-mix));border-radius:5px;box-shadow:inset 3px 0 0 var(--accent, #4f7cff),0 6px 16px -8px color-mix(in srgb,var(--accent, #4f7cff) 70%,transparent)}.popover-travel-wrap{display:flex;flex-direction:column;gap:6px}.popover-travel{align-self:flex-start;font-size:.8rem;color:var(--text-secondary);padding:3px 8px;border:1px solid var(--hairline-strong);border-radius:6px}.popover-travel:hover{background:var(--hover)}.travel-confirm{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--hairline);border-radius:8px;background:var(--surface)}.travel-note{margin:0;color:var(--text-faint);font-size:var(--fs-micro)}.travel-origin-field,.travel-mode-field,.travel-buffer-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;color:var(--text-secondary)}.travel-origin-field select,.travel-mode-field select,.travel-buffer-field select{flex:1;min-width:0}.travel-custom{position:relative}.travel-confirm-go:disabled{opacity:.4;cursor:not-allowed}.travel-confirm-actions{display:flex;align-items:center;justify-content:space-between;gap:8px}.travel-preview{font-size:.78rem;color:var(--text-secondary)}.travel-preview:hover{color:var(--text);text-decoration:underline}.travel-confirm-go{font-size:.8rem;padding:4px 12px;color:#fff;background:var(--accent, #4f7cff);border-radius:6px}.saved-place-field{display:flex;align-items:center;gap:8px;margin-top:8px}.saved-place-label{width:48px;font-size:.82rem;color:var(--text-secondary)}.place-combo{position:relative}.place-results{position:absolute;top:calc(100% + 2px);left:30px;right:0;z-index:20;margin:0;padding:4px;list-style:none;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;box-shadow:var(--shadow)}.place-result{display:flex;flex-direction:column;align-items:flex-start;width:100%;text-align:left;padding:5px 8px;border-radius:5px}.place-result:hover{background:var(--hover)}.place-main{display:flex;align-items:center;gap:6px;font-size:.85rem}.place-pill{display:inline-flex;align-items:center;align-self:center;gap:4px;max-width:100%;padding:2px 4px 2px 8px;border-radius:5px;background:var(--hover);font-size:.85rem}.place-pill-link{display:inline-flex;align-items:center;gap:4px;min-width:0;color:inherit;text-decoration:none}.place-pill-link:hover .place-pill-name{text-decoration:underline}.place-pill-name{flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-pill-addr{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-faint)}.place-pill-addr:before{content:"·";margin-right:4px}.place-pill-clear{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:3px;color:var(--text-faint);font-size:.95rem;line-height:1}.place-pill-clear:hover{background:var(--hairline-strong);color:var(--text)}.place-neighborhood{font-size:.66rem;font-weight:500;color:var(--text-secondary);background:var(--hover);border-radius:4px;padding:1px 6px;white-space:nowrap}.place-secondary{font-size:.72rem;color:var(--text-faint)}.event-form{display:flex;flex-direction:column;gap:1px}.event-form .form-title{font-size:1.15rem;font-weight:600;letter-spacing:-.01em;color:var(--text);background:none;border:none;padding:4px 6px;margin-bottom:6px}.event-form .form-title::placeholder{color:var(--text-faint)}.event-form .form-title:focus{outline:none}.form-field{display:flex;align-items:flex-start;gap:8px;padding:2px 6px;border-radius:6px}.field-icon{flex-shrink:0;width:16px;height:26px;display:flex;align-items:center;justify-content:center;color:var(--text-faint)}.field-icon-svg{display:block}.ghost-input{font:inherit;font-size:.85rem;color:var(--text);background:none;border:1px solid transparent;border-radius:5px;padding:4px 6px;transition:background .1s ease,border-color .1s ease}.ghost-input::placeholder{color:var(--text-faint)}.ghost-input:hover{background:var(--hover)}.ghost-input:focus{outline:none;background:var(--surface);border-color:var(--hairline-strong)}.form-field>.ghost-input{flex:1;min-width:0;align-self:center}.ghost-input.description{flex:1;resize:vertical;min-height:56px;line-height:1.5;align-self:stretch}.ghost-input::-webkit-calendar-picker-indicator{opacity:.4;cursor:pointer}.ghost-input.date{width:116px}.ghost-input.time{width:108px}.time-field{flex:1;min-width:0}.time-summary{display:flex;align-items:center;gap:8px;width:100%;font:inherit;font-size:.85rem;color:var(--text);text-align:left;background:none;border:1px solid transparent;border-radius:5px;padding:4px 6px;cursor:pointer;transition:background .1s ease}.time-summary:hover{background:var(--hover)}.time-summary-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-duration{flex-shrink:0;font-size:.72rem;color:var(--text-faint)}.time-popover{margin-top:4px;display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:8px}.time-pop-row,.time-pop-options{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.time-pop-options{margin-top:2px}.add-end-date{color:var(--text-faint)}.time-mirror{list-style:none;margin:4px 0 0;padding:6px 2px 0;border-top:1px solid var(--hairline);display:flex;flex-direction:column;gap:3px;font-size:.74rem}.time-mirror li{display:flex;gap:8px;color:var(--text-secondary)}.time-mirror li.source{color:var(--text);font-weight:600}.mirror-zone{flex-shrink:0;width:52px;color:var(--text-faint)}.time-mirror li.source .mirror-zone{color:var(--text-secondary)}.mirror-day{color:var(--text-faint)}.expand-timeline{margin-left:auto;color:var(--text-faint)}.tz-timeline{--tzt-row-h: 30px;--tzt-axis-h: 22px;--tzt-label-w: 104px;width:min(680px,92vw)}.tzt-body{display:flex;margin-top:4px}.tzt-labels{flex-shrink:0;width:var(--tzt-label-w)}.tzt-axis-spacer{height:var(--tzt-axis-h)}.tzt-label{height:var(--tzt-row-h);display:flex;flex-direction:column;justify-content:center;line-height:1.15}.tzt-zone{font-size:.78rem;color:var(--text-secondary)}.tzt-label.source .tzt-zone{color:var(--text);font-weight:600}.tzt-local{font-size:.68rem;color:var(--text-faint)}.tzt-tracks{position:relative;flex:1;min-width:0}.tzt-axis{position:relative;height:var(--tzt-axis-h)}.tzt-tick{position:absolute;transform:translate(-50%);font-size:.62rem;color:var(--text-faint);white-space:nowrap}.tzt-track{display:flex;height:var(--tzt-row-h);border-top:1px solid var(--hairline)}.tzt-cell{flex:1;border-right:1px solid var(--hairline)}.tzt-cell.off{background:var(--hover)}.tzt-band{position:absolute;top:var(--tzt-axis-h);bottom:0;background:color-mix(in srgb,#4f7cff 22%,transparent);border:1px solid #4f7cff;border-radius:4px;cursor:grab;touch-action:none}.tzt-band:active{cursor:grabbing}.tzt-handle{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;touch-action:none}.tzt-handle.start{left:-4px}.tzt-handle.end{right:-4px}.tzt-hint{margin:8px 0 0;font-size:.7rem;color:var(--text-faint)}.ghost-chip{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:.72rem;color:var(--text-secondary);background:none;border:1px solid transparent;border-radius:5px;padding:2px 6px;cursor:pointer;transition:background .1s ease}.ghost-chip:hover{background:var(--hover)}.ghost-chip.on{color:var(--text)}.ghost-chip input[type=checkbox]{margin:0}select.tz-chip{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-field{flex:1;min-width:0;display:flex;align-items:center;gap:6px;align-self:center}.cal-dot{flex-shrink:0;width:9px;height:9px;border-radius:50%}.calendar-select{flex:1;min-width:0}.busy-toggle{display:inline-flex;border:1px solid var(--hairline-strong);border-radius:6px;overflow:hidden}.busy-option{border:0;background:transparent;padding:3px 12px;font:inherit;font-size:.82rem;color:var(--text-secondary);cursor:pointer}.busy-option+.busy-option{border-left:1px solid var(--hairline-strong)}.busy-option.active{background:var(--accent);color:#fff}.field-divider{height:1px;margin:7px 6px;background:var(--hairline)}.form-error{margin:6px;font-size:.8rem;color:#d33}.form-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:10px;padding:0 6px}.account-name-input{font:inherit;font-size:.88rem;font-weight:600;color:inherit;background:transparent;border:1px solid transparent;border-radius:5px;padding:2px 6px;margin-left:-7px}.account-name-input:hover,.account-name-input:focus,.account-name-input:placeholder-shown{border-color:var(--hairline-strong);background:var(--surface);outline:none}.account-name-input::placeholder{color:var(--text-faint);font-weight:400}.sync-status{margin:auto 0 0;padding-top:12px;font-size:.75rem;color:var(--text-faint)}.tz-search{font:inherit;font-size:.85rem;margin-top:6px;padding:7px 10px;border:1px solid var(--hairline-strong);border-radius:6px;background:var(--surface);color:inherit}.tz-search:focus{outline:none;border-color:var(--accent)}.tz-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.tz-results li{display:flex;align-items:center;gap:4px}.tz-result{flex:1;display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:6px;text-align:left}.tz-result:hover:not(:disabled){background:var(--hover)}.tz-result:disabled{opacity:.45;cursor:default}.tz-make-primary{flex-shrink:0;font-size:.72rem;color:var(--text-faint);padding:4px 8px;border-radius:5px;opacity:0}.tz-results li:hover .tz-make-primary{opacity:1;color:var(--text-secondary)}.tz-make-primary:hover{background:var(--hover)}.tz-full-note{margin:4px 0 0;font-size:.75rem;color:var(--today)}.icon-button{width:26px;height:26px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:1rem;transition:background .1s ease}.icon-button:hover{background:var(--hover)}.pill-button{padding:4px 10px;border-radius:5px;border:1px solid var(--hairline-strong);font-size:.82rem;color:var(--text);background:var(--surface);transition:background .1s ease}.pill-button:hover:not(:disabled){background:var(--hover)}.pill-button.danger{color:var(--today)}.banner{display:flex;align-items:flex-start;gap:9px;margin:8px 16px 0;padding:9px 11px;border-radius:8px;border:1px solid var(--hairline-strong);background:var(--surface);color:var(--text);font-size:var(--fs-body);line-height:1.45;animation:banner-in .18s cubic-bezier(.2,.8,.2,1)}.banner-icon{flex-shrink:0;width:16px;height:16px;margin-top:1px;color:var(--text-secondary)}.banner-body{flex:1;min-width:0}.banner-body strong{font-weight:600}.banner-cta,.banner-cta-button{flex-shrink:0;align-self:center;white-space:nowrap}.banner-cta{color:var(--accent);font-weight:500}.banner-dismiss{flex-shrink:0;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:var(--text-faint);font-size:1rem;line-height:1;transition:background .1s ease,color .1s ease}.banner-dismiss:hover{background:var(--hover);color:var(--text-secondary)}.banner.info{background:color-mix(in srgb,var(--accent) 7%,var(--bg));border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.banner.info .banner-icon{color:var(--accent)}.banner.warn{background:color-mix(in srgb,var(--warn) 9%,var(--bg));border-color:color-mix(in srgb,var(--warn) 26%,transparent)}.banner.warn .banner-icon{color:var(--warn)}.banner.error{color:var(--text);background:color-mix(in srgb,var(--today) 8%,var(--bg));border-color:color-mix(in srgb,var(--today) 28%,transparent)}.banner.error .banner-icon{color:var(--today)}@keyframes banner-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.banner{animation:none}}.error{color:var(--today)}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:100;display:flex;align-items:center;gap:8px;max-width:min(440px,calc(100vw - 32px));padding:10px 10px 10px 14px;border-radius:10px;background:#25262b;color:#f4f4f5;font-size:.84rem;box-shadow:0 10px 30px #00000038,0 2px 8px #00000024;animation:toast-in .2s cubic-bezier(.2,.8,.2,1)}.toast-msg{flex:1;line-height:1.35}.toast-dismiss{flex-shrink:0;width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;color:#ffffff8c;font-size:1rem;line-height:1}.toast-dismiss:hover{background:#ffffff21;color:#fff}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%)}}.week-grid{flex:1;display:flex;flex-direction:column;overflow:hidden;--hour-h: 44px}.week-header,.all-day-row{display:grid;overflow-y:auto;scrollbar-gutter:stable}.tz-label-cell{display:flex;align-items:flex-end;justify-content:flex-end;padding:0 6px 4px 0;font-size:.65rem;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.03em;overflow:hidden;white-space:nowrap}.tz-label-cell.draggable{cursor:grab;border-radius:4px}.tz-label-cell.draggable:hover{background:var(--hover)}.tz-label-cell.dragging{opacity:.4}.all-day-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-flow:row dense;grid-auto-rows:min-content;gap:2px 0;padding:2px 0}.week-header{border-bottom:1px solid var(--hairline)}.day-label{display:flex;align-items:center;justify-content:center;gap:5px;padding:4px 0;font-size:.72rem;color:var(--text-secondary)}.day-label .date{font-size:.85rem;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}.day-label.today .date{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--today);color:#fff;border-radius:10px;font-weight:600}.all-day-row{border-bottom:1px solid var(--hairline);min-height:20px}.all-day-event{font-size:.74rem;font-weight:500;border-radius:4px;padding:1px 6px;margin:0 3px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;background:color-mix(in srgb,var(--event-color) 28%,var(--event-bg-mix));color:color-mix(in srgb,var(--event-color) 55%,var(--event-text-mix))}.week-scroll{flex:1;overflow-y:auto;scrollbar-gutter:stable}.week-body{display:grid;height:calc(var(--hour-h) * 24)}.gutter.hours.secondary{border-right:1px solid var(--hairline)}.gutter.hours.secondary .hour-label{font-size:.62rem;color:var(--text-faint);opacity:.8}.gutter.hours{display:grid;grid-template-rows:repeat(24,1fr)}.hour-label{font-size:.68rem;color:var(--text-faint);text-align:right;padding-right:8px;transform:translateY(-.55em);font-variant-numeric:tabular-nums}.day-column{position:relative;border-left:1px solid var(--hairline);background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hour-h) - 1px),var(--hairline) calc(var(--hour-h) - 1px),var(--hairline) var(--hour-h))}.timed-event{position:absolute;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;border-radius:5px;padding:2px 6px 2px 8px;overflow:hidden;background:color-mix(in srgb,var(--event-color) 22%,var(--event-bg-mix));color:color-mix(in srgb,var(--event-color) 50%,var(--event-text-mix));box-shadow:0 0 0 1.5px var(--surface);transition:transform .1s ease,box-shadow .1s ease}.timed-event:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;border-radius:5px 0 0 5px;background:var(--event-color)}.timed-event:hover{box-shadow:0 0 0 1.5px var(--surface),var(--shadow);transform:translateY(-1px);z-index:30}.timed-event.selected{box-shadow:0 0 0 1.5px var(--surface),0 0 0 3px var(--event-color);z-index:30}.all-day-event.selected,.month-chip.selected{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--event-color)}.timed-event.free,.timed-event.informational{background:color-mix(in srgb,var(--event-color) 7%,var(--event-bg-mix));color:color-mix(in srgb,var(--event-color) 38%,var(--event-text-mix));border:1px dashed color-mix(in srgb,var(--event-color) 45%,transparent)}.timed-event.free:before,.timed-event.informational:before{background:color-mix(in srgb,var(--event-color) 45%,var(--event-bg-mix))}.timed-event .event-title{display:block;max-width:100%;font-size:.76rem;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;line-height:1.25;flex-shrink:0}.koyomi-glyph{opacity:.55;margin-right:3px;font-weight:400}.timed-event .event-time{flex-shrink:0}.timed-event.compact{flex-direction:row;align-items:baseline;gap:5px;padding-top:2px;padding-bottom:2px}.timed-event.compact .event-title{flex-shrink:1;min-width:0}.timed-event .event-time{font-size:.68rem;opacity:.75;font-variant-numeric:tabular-nums}.timed-event .event-location{font-size:.68rem;opacity:.7;max-width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.timed-event .event-meeting{font-size:.68rem;font-weight:600;color:var(--event-bg-mix);text-decoration:none;border-radius:3px;padding:1px 6px;background:color-mix(in srgb,var(--event-color) 55%,var(--event-text-mix));flex-shrink:0}.timed-event .event-meeting:hover{opacity:.85}.timed-event.rsvp-pending{background:var(--surface);border:1px solid color-mix(in srgb,var(--event-color) 55%,transparent)}.timed-event.rsvp-declined{opacity:.5}.timed-event.rsvp-declined .event-title{text-decoration:line-through}.popover-join{align-self:flex-start;font-size:.82rem;font-weight:500;color:#fff;background:var(--accent);border-radius:5px;padding:4px 12px;text-decoration:none}.popover-join:hover{opacity:.9}.now-line{position:absolute;left:0;right:0;height:2px;background:var(--today);z-index:3;pointer-events:none}.now-dot{position:absolute;left:-4px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--today)}.event-popover{position:fixed;margin:0;color:inherit;z-index:20;background:var(--surface);border:1px solid var(--hairline-strong);border-radius:10px;box-shadow:var(--shadow);padding:16px 18px;display:flex;flex-direction:column;gap:8px;max-height:calc(100vh - 16px);overflow-y:auto}.popover-header{display:flex;align-items:center;gap:8px}.popover-header h3{margin:0;font-size:.95rem;flex:1;min-width:0}.popover-swatch{width:12px;height:12px;border-radius:4px;flex-shrink:0;background:var(--event-color)}.popover-time{font-size:.85rem;display:flex;align-items:center;gap:8px}.popover-time-text{position:relative}.popover-time-text.has-tz{text-decoration:underline dotted var(--text-faint);text-underline-offset:3px}.popover-tz-tooltip{display:none;position:absolute;left:0;top:calc(100% + 6px);z-index:10;flex-direction:column;gap:5px;padding:8px 10px;background:var(--surface);border:1px solid var(--hairline);border-radius:8px;box-shadow:var(--shadow);white-space:nowrap}.popover-time-text:hover .popover-tz-tooltip{display:flex}.popover-tz-row{display:flex;align-items:center;gap:8px;font-size:.78rem;font-variant-numeric:tabular-nums}.shows-as-badge{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--hairline-strong);border-radius:4px;padding:0 5px}.shows-as-badge.free{color:var(--text-faint)}.shows-as-badge.busy{color:var(--text-secondary)}.popover-meta,.popover-location{font-size:.8rem;color:var(--text-secondary)}a.popover-location{text-decoration:none}a.popover-location:hover{text-decoration:underline;color:var(--text)}.rsvp-badge{font-size:.7rem;font-weight:600;border-radius:4px;padding:0 5px;border:1px solid var(--hairline-strong);color:var(--text-secondary)}.rsvp-badge.rsvp-declined{color:var(--today)}.popover-attendees{list-style:none;margin:0;padding:6px 0 0;border-top:1px solid var(--hairline);font-size:.8rem;color:var(--text-secondary);display:flex;flex-direction:column;gap:2px;max-height:150px;overflow-y:auto}.popover-attendees li{display:flex;align-items:center;gap:6px}.attendee-status{width:14px;text-align:center;font-weight:700;flex-shrink:0}.attendee-status.status-accepted{color:#2e9e5b}.attendee-status.status-declined{color:var(--today)}.attendee-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendee-role{font-size:.68rem;color:var(--text-faint);border:1px solid var(--hairline);border-radius:3px;padding:0 4px;flex-shrink:0}.attendee-more{color:var(--text-faint)}.popover-description{font-size:.8rem;color:var(--text-secondary);border-top:1px solid var(--hairline);padding-top:6px;max-height:140px;overflow-y:auto;white-space:pre-wrap;word-break:break-word}.description-link,.popover-description a{color:var(--accent);text-decoration:underline}.description-link:hover,.popover-description a:hover{text-decoration:none}.popover-description p{margin:0 0 4px}.popover-description ul,.popover-description ol{margin:0 0 4px;padding-left:18px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0f0f73;display:flex;align-items:flex-start;justify-content:center;padding-top:12vh;z-index:10}.modal{position:static;margin:0;border:none;color:inherit;background:var(--surface);border-radius:10px;box-shadow:var(--shadow);width:min(440px,90vw);padding:16px 20px 20px;display:flex;flex-direction:column;gap:10px}.modal-header{display:flex;align-items:center;justify-content:space-between}.modal-header h2{font-size:1rem;margin:0}.account-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--hairline)}.account-email{font-weight:500}.account-sync{color:var(--text-faint);font-size:var(--fs-micro)}.view-select{margin-left:6px;padding:4px 8px;border-radius:5px;border:1px solid var(--hairline-strong);font-size:.82rem;color:var(--text);background:var(--surface)}.month-grid{flex:1;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--hairline)}.month-dow-row{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--hairline)}.month-dow{text-align:center;font-size:var(--fs-micro);font-weight:600;color:var(--text-faint);padding:4px 0}.month-cells{flex:1;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(6,1fr);min-height:0}.month-cell{display:flex;flex-direction:column;gap:2px;padding:4px 4px 2px;border-right:1px solid var(--hairline);border-bottom:1px solid var(--hairline);overflow:hidden;cursor:pointer;min-width:0}.month-cell:nth-child(7n){border-right:none}.month-cell.outside .month-daynum{color:var(--text-faint)}.month-daynum{font-size:var(--fs-label);font-variant-numeric:tabular-nums;color:var(--text-secondary);width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;flex-shrink:0}.month-daynum.today{background:var(--today);color:#fff;font-weight:600}.month-chip{display:flex;align-items:baseline;gap:4px;width:100%;padding:1px 5px;border-radius:4px;font-size:var(--fs-micro);text-align:left;color:color-mix(in srgb,var(--event-color) 35%,var(--event-text-mix));background:color-mix(in srgb,var(--event-color) 18%,var(--event-bg-mix));overflow:hidden}.month-chip.all-day{background:color-mix(in srgb,var(--event-color) 70%,var(--event-bg-mix));color:var(--event-text-mix)}.month-chip .chip-time{flex-shrink:0;opacity:.75}.month-chip .chip-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500}.month-more{font-size:var(--fs-micro);color:var(--text-secondary);padding:0 5px}.year-view{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:24px 32px;padding:20px 28px;overflow-y:auto;border-top:1px solid var(--hairline)}.year-month-title{font-size:var(--fs-body);font-weight:600;margin:0 0 6px}.year-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px}.year-day{aspect-ratio:1;border-radius:4px;font-size:var(--fs-micro);color:var(--text);display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums;transition:background .1s ease}.year-day:hover{background:var(--hover)}.year-day.outside{visibility:hidden}.year-day.today{background:var(--today);color:#fff;font-weight:600}.splash-hint{margin-top:14px;max-width:340px;text-align:center;font-size:var(--fs-label);color:var(--text-faint)}.koyomi-account-card{margin:0 0 6px;padding:10px 12px;border:1px solid var(--hairline);border-radius:6px;background:var(--bg-sidebar);font-size:var(--fs-body);color:var(--text-secondary)}.koyomi-account-card strong{color:var(--text)}.account-name-line{display:flex;align-items:center;gap:8px}.primary-badge{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;padding:1px 8px}.account-actions{display:flex;gap:6px;flex-shrink:0}
