/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}*{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font:13px/1.45 Helvetica Neue,Helvetica,Arial,sans-serif;overflow:hidden}.mono{font-feature-settings:"tnum";letter-spacing:-.01em;font-family:IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,monospace}.theme-light{--bg:oklch(98.5% .003 80);--surface:#fff;--surface-2:oklch(97.5% .003 80);--surface-3:oklch(96% .004 80);--ink:oklch(18% .01 80);--ink-2:oklch(42% .01 80);--ink-3:oklch(58% .01 80);--ink-4:oklch(72% .005 80);--border:oklch(92% .005 80);--border-2:oklch(88% .005 80);--hairline:oklch(94% .005 80);--today-bg:oklch(.97 .04 var(--accent-h,265));--hover:oklch(96% .004 80);--shadow-card:0 0 0 1px var(--border), 0 8px 24px -8px oklch(20% .02 80/.18), 0 2px 6px -2px oklch(20% .02 80/.08);--shadow-pop:0 0 0 1px var(--border), 0 16px 40px -10px oklch(18% .02 80/.28);--weekend-tint:oklch(97.5% .005 80)}.theme-dark{--bg:oklch(16% .007 260);--surface:oklch(20% .008 260);--surface-2:oklch(22% .008 260);--surface-3:oklch(25% .008 260);--ink:oklch(95% .005 80);--ink-2:oklch(75% .01 80);--ink-3:oklch(60% .01 80);--ink-4:oklch(45% .01 80);--border:oklch(30% .01 260);--border-2:oklch(35% .01 260);--hairline:oklch(27% .01 260);--hover:oklch(26% .01 260);--today-bg:oklch(.3 .06 var(--accent-h,265));--shadow-card:0 0 0 1px var(--border), 0 8px 24px -6px #000a;--shadow-pop:0 0 0 1px var(--border), 0 16px 40px -8px #000d;--weekend-tint:oklch(18% .008 260)}.theme-dark .month-bar,.theme-dark .week-event,.theme-dark .week-allday-pill,.theme-dark .tl-bar{filter:brightness(1.1)saturate(1.2)}.theme-dark .month-event{background:var(--surface-2)}.app{background:var(--bg);grid-template-columns:248px 1fr;height:100vh;transition:grid-template-columns .16s;display:grid}.app.view-month{grid-template-columns:216px 1fr}.app.view-year{grid-template-columns:200px 1fr}@media (prefers-reduced-motion:reduce){.app{transition:none}}.app.density-compact{--row-h:24px}.app.density-default{--row-h:28px}.app.density-spacious{--row-h:34px}.main{border-left:1px solid var(--border);background:var(--surface);flex-direction:column;min-width:0;display:flex}.view{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar{background:var(--surface-2);flex-direction:column;gap:14px;padding:14px 12px 10px;display:flex;overflow-y:auto}.sidebar-brand{align-items:center;gap:10px;padding:0 4px;display:flex}.brand-mark{border-radius:7px;place-items:center;width:26px;height:26px;display:grid;position:relative;box-shadow:inset 0 1px #fff3,0 1px 2px #0002}.brand-glyph{clip-path:polygon(0 0,100% 0,100% 35%,35% 35%,35% 100%,0 100%);background:#fff;width:12px;height:12px}.brand-name{letter-spacing:-.01em;font-size:13px;font-weight:600}.brand-sub{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.create-cta{appearance:none;color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-weight:500;display:flex;box-shadow:inset 0 1px #fff3,0 1px 3px #0002}.create-cta span:first-of-type{text-align:left;flex:1}.create-cta:hover{filter:brightness(1.08)}.import-cta{appearance:none;border:1px solid var(--border-2);background:var(--surface);color:var(--ink-2);font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin-top:6px;padding:7px 10px;font-size:12.5px;display:flex}.import-cta span{text-align:left;flex:1}.import-cta:hover{color:var(--ink);border-color:var(--ink-3)}.kbd{color:#fff;background:#ffffff30;border:1px solid #ffffff40;border-radius:4px;padding:2px 5px;font:10px/1 IBM Plex Mono,ui-monospace,monospace}.sidebar .kbd{background:#ffffff25}.mini{padding:6px 4px}.mini-head{justify-content:space-between;align-items:center;padding:0 2px 6px;display:flex}.mini-title{font-size:12px;font-weight:600}.mini-year{color:var(--ink-3);margin-left:4px;font-size:11px;font-weight:400}.mini-nav{gap:2px;display:flex}.mini-dows{grid-template-columns:repeat(7,1fr);gap:1px;padding:0 1px 2px;display:grid}.mini-dows span{text-align:center;color:var(--ink-3);text-transform:uppercase;letter-spacing:.05em;font-size:9px;font-weight:500}.mini-grid{grid-template-columns:repeat(7,1fr);gap:1px;display:grid}.mini-cell{appearance:none;font:inherit;aspect-ratio:1;cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:4px;place-items:center;font-size:10.5px;display:grid;position:relative}.mini-cell:hover{background:var(--hover)}.mini-cell.is-out{color:var(--ink-4)}.mini-cell.is-today{color:#fff;background:var(--accent);font-weight:600}.mini-cell.is-sel:not(.is-today){background:var(--accent-soft);color:var(--ink);font-weight:600}.mini-dot{border-radius:50%;width:3px;height:3px;position:absolute;bottom:2px}.mini-cell.is-today .mini-dot{background:#fff!important}.side-section{padding:0 2px}.side-section-head{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:4px 4px 6px;font-size:10px;font-weight:600;display:flex}.link-btn{appearance:none;font:inherit;cursor:pointer;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;align-items:center;gap:4px;font-size:10px;display:inline-flex}.link-btn:hover{color:var(--ink)}.cat-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.cat-row{appearance:none;font:inherit;cursor:pointer;width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:5px 6px;display:flex}.cat-row:hover{background:var(--hover)}.cat-row.is-off{color:var(--ink-4)}.cat-swatch{border-radius:3px;flex-shrink:0;width:10px;height:10px}.cat-name{flex:1;font-size:12px}.cat-count{color:var(--ink-3);font-size:10px}.sidebar-foot{color:var(--ink-3);border-top:1px solid var(--hairline);letter-spacing:.06em;align-items:center;gap:6px;margin-top:auto;padding:10px 6px 2px;font-size:10px;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--surface);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:16px;min-height:56px;padding:10px 16px;display:grid}.topbar-left{align-items:center;gap:16px;min-width:0;display:flex}.topbar-title{letter-spacing:-.015em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:17px;font-weight:600;overflow:hidden}.date-nav{align-items:center;gap:4px;display:flex}.today-btn{appearance:none;border:1px solid var(--border-2);background:var(--surface);cursor:pointer;font:inherit;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-2);border-radius:6px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:500;display:inline-flex}.today-btn:hover{background:var(--hover);color:var(--ink)}.date-nav-arrows{gap:2px;display:flex}.topbar-mid{justify-content:center;display:flex}.seg{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;gap:1px;padding:2px;display:flex}.seg-item{appearance:none;font:inherit;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;display:inline-flex}.seg-item:hover{color:var(--ink)}.seg-item.is-active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border), 0 1px 2px #0001}.topbar-right{justify-content:flex-end;align-items:center;gap:12px;min-width:0;display:flex}.search{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;flex:0 260px;align-items:center;gap:6px;min-width:0;padding:5px 8px 5px 10px;display:flex;position:relative}.search input{appearance:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.search input::placeholder{color:var(--ink-3)}.search .kbd{background:var(--surface);color:var(--ink-3);border:1px solid var(--border);padding:1px 4px;font-size:9.5px}.conflict-pill{appearance:none;color:oklch(40% .14 32);cursor:pointer;font:inherit;background:oklch(97% .04 32);border:1px solid oklch(86% .1 32);border-radius:999px;align-items:center;gap:5px;padding:4px 9px 4px 7px;font-size:11px;font-weight:500;display:inline-flex}.conflict-pill:hover{background:oklch(95% .05 32)}.theme-dark .conflict-pill{color:oklch(86% .1 32);background:oklch(32% .07 32);border-color:oklch(45% .1 32)}.search-pop{background:var(--surface);width:380px;box-shadow:var(--shadow-pop);z-index:100;border-radius:8px;position:absolute;top:60px;right:16px;overflow:hidden}.search-pop-head{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--hairline);padding:8px 12px;font-size:10px}.search-pop-list{max-height:360px;margin:0;padding:4px;list-style:none;overflow-y:auto}.search-pop-list li button{appearance:none;font:inherit;cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:5px;grid-template-columns:10px 1fr auto;align-items:center;gap:10px;padding:7px 8px;display:grid}.search-pop-list li button:hover{background:var(--hover)}.search-title{font-size:12.5px}.search-date{color:var(--ink-3);font-size:10.5px}.search-empty{text-align:center;color:var(--ink-3);padding:16px}.iconbtn{appearance:none;cursor:pointer;width:26px;height:26px;color:var(--ink-2);background:0 0;border:0;border-radius:5px;place-items:center;display:inline-grid}.iconbtn:hover{background:var(--hover);color:var(--ink)}.iconbtn.is-active{background:var(--accent-soft);color:var(--accent)}.btn{appearance:none;font:inherit;cursor:pointer;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 11px;font-size:12px;font-weight:500;display:inline-flex}.btn-ghost{color:var(--ink);border:1px solid var(--border-2);background:0 0}.btn-ghost:hover{background:var(--hover)}.btn-primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px #fff3,0 1px 2px #0002}.btn-primary:hover{filter:brightness(1.08)}.btn-danger{color:oklch(50% .16 28)}.btn-danger:hover{background:oklch(95% .05 28)}.catdot{border-radius:50%;flex-shrink:0;display:inline-block}.month{flex-direction:column;flex:1;min-width:0;display:flex}.month-header{background:var(--surface-2);border-bottom:1px solid var(--border);display:grid}.month-header-cell{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);border-right:1px solid var(--hairline);padding:6px 10px;font-size:10px;font-weight:600}.month-header-cell:last-child{border-right:0}.month-grid{flex-direction:column;flex:1;min-height:0;display:flex}.month-week{border-bottom:1px solid var(--border);flex:1;min-height:0;display:grid;position:relative}.month-week:last-child{border-bottom:0}.month-cell{border-right:1px solid var(--hairline);background:var(--surface);flex-direction:column;min-height:0;padding:4px 6px;display:flex;position:relative}.month-cell:last-child{border-right:0}.month-cell.is-out{background:var(--surface-2)}.month-cell.is-out .month-cell-date{color:var(--ink-4)}.month-cell.is-weekend:not(.is-out){background:var(--weekend-tint)}.month-cell.is-today{background:var(--today-bg)}.month-cell.is-drop{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-soft)}.month-cell-head{justify-content:space-between;align-items:center;height:22px;display:flex}.month-cell-date{color:var(--ink-2);letter-spacing:-.02em;padding:1px 3px;font-family:IBM Plex Mono,monospace;font-size:11.5px;font-weight:500}.month-cell.is-today .month-cell-date{color:var(--accent);font-weight:700}.month-cell-mo{color:var(--ink);text-transform:uppercase;letter-spacing:.06em;margin-right:4px;font-size:10px;font-weight:600}.today-pill{letter-spacing:.08em;background:var(--accent);color:#fff;border-radius:3px;padding:2px 5px;font:9px/1 IBM Plex Mono,monospace}.month-bars{pointer-events:none;z-index:2;grid-auto-rows:20px;gap:2px;padding:0 4px;display:grid;position:absolute;top:26px;left:0;right:0}.month-bar{pointer-events:auto;appearance:none;font:inherit;cursor:pointer;white-space:nowrap;border:0;border-radius:3px;align-items:center;gap:5px;height:18px;margin:0 1px;padding:0 7px;font-size:11px;font-weight:500;display:inline-flex;overflow:hidden}.month-bar-title{text-overflow:ellipsis;overflow:hidden}.month-singles{pointer-events:none;z-index:1;display:grid;position:absolute;inset:26px 0 0}.month-single-col{pointer-events:none;flex-direction:column;gap:2px;min-height:0;padding:0 4px 4px;display:flex;overflow:hidden}.month-single-col>*{pointer-events:auto}.month-event{appearance:none;font:inherit;cursor:pointer;color:var(--ink);border:0;border-left:3px solid var(--cat);white-space:nowrap;text-align:left;background:0 0;border-radius:3px;align-items:center;gap:5px;padding:2px 5px 2px 7px;font-size:11px;display:flex;overflow:hidden}.month-event:hover{background:var(--cat-soft)}.month-event-time{color:var(--cat-ink);letter-spacing:-.02em;flex-shrink:0;font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:600}.month-event-title{text-overflow:ellipsis;min-width:0;overflow:hidden}.month-more{appearance:none;font:inherit;cursor:pointer;text-align:left;color:var(--ink-3);background:0 0;border:0;border-radius:3px;padding:2px 5px;font-size:10.5px}.month-more:hover{background:var(--hover);color:var(--ink)}.app.density-compact .month-event{padding:1px 4px 1px 6px;font-size:10.5px}.app.density-spacious .month-event{padding:3px 6px 3px 8px;font-size:11.5px}.week{flex-direction:column;flex:1;min-width:0;display:flex}.week-head{background:var(--surface-2);border-bottom:1px solid var(--border);display:grid}.week-head-gutter{border-right:1px solid var(--hairline)}.week-head-day{border-right:1px solid var(--hairline);flex-direction:column;gap:2px;padding:8px 10px;display:flex}.week-head-day:last-child{border-right:0}.week-head-dow{color:var(--ink-3);letter-spacing:.08em;font-size:10px;font-weight:600}.week-head-num{letter-spacing:-.03em;font-family:IBM Plex Mono,monospace;font-size:20px;font-weight:500}.week-head-day.is-today .week-head-dow{color:var(--accent)}.week-head-day.is-today .week-head-num{color:var(--accent);font-weight:700}.week-allday{border-bottom:1px solid var(--border);min-height:28px;max-height:80px;display:grid}.week-allday-label{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;border-right:1px solid var(--hairline);align-self:start;padding:6px 8px;font-size:9px;font-weight:600}.week-allday-col{border-right:1px solid var(--hairline);flex-direction:column;gap:2px;padding:4px;display:flex}.week-allday-col:last-child{border-right:0}.week-allday-pill{appearance:none;font:inherit;cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:3px;height:18px;padding:2px 6px;font-size:11px;overflow:hidden}.week-body-scroll{flex:1;overflow-y:auto}.week-body{display:grid;position:relative}.week-gutter{border-right:1px solid var(--hairline)}.week-gutter-cell{border-bottom:1px dashed var(--hairline);position:relative}.week-gutter-cell span{color:var(--ink-3);background:var(--surface);padding:0 2px;font:10px/1 IBM Plex Mono,monospace;position:absolute;top:-7px;right:6px}.week-day-col{border-right:1px solid var(--hairline);position:relative}.week-day-col:last-child{border-right:0}.week-day-col.is-today{background:oklch(.99 .01 var(--accent-h,265) / .5)}.theme-dark .week-day-col.is-today{background:oklch(.22 .02 var(--accent-h,265) / .6)}.week-day-col.is-drop{background:var(--accent-soft)}.week-hourline{border-bottom:1px dashed var(--hairline)}.week-hourline.is-first{border-top:1px solid var(--hairline)}.week-event{appearance:none;font:inherit;cursor:pointer;text-align:left;z-index:1;border:0;border-radius:3px;flex-direction:column;gap:1px;padding:4px 6px;display:flex;position:absolute;overflow:hidden}.week-event:hover{z-index:2;filter:brightness(.98)}.week-event-title{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;line-height:1.25;overflow:hidden}.week-event-meta{opacity:.8;font:10px/1.25 IBM Plex Mono,monospace}.week-event-loc{margin-left:4px}.week-event-who{margin-top:4px}.week-now{z-index:3;pointer-events:none;position:absolute;left:0;right:0}.week-now-dot{background:oklch(60% .18 28);border-radius:50%;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.week-now-line{background:oklch(60% .18 28);height:1.5px;display:block}.agenda{background:var(--surface);flex:1;padding:8px 24px 32px;overflow-y:auto}.agenda-empty{color:var(--ink-3);text-align:center;padding:32px}.agenda-day{border-top:1px solid var(--hairline);padding:20px 0}.agenda-day:first-child{border-top:0;padding-top:12px}.agenda-day.is-past{opacity:.55}.agenda-day-head{grid-template-columns:56px auto 1fr auto;align-items:center;gap:14px;padding-bottom:12px;display:grid}.agenda-day-num{letter-spacing:-.04em;font:600 32px/1 IBM Plex Mono,monospace}.agenda-day.is-today .agenda-day-num{color:var(--accent)}.agenda-day-info{flex-direction:column;gap:2px;display:flex}.agenda-day-dow{color:var(--ink-2);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.agenda-day.is-today .agenda-day-dow{color:var(--accent)}.agenda-day-mo{color:var(--ink-3);font-size:11px}.agenda-day-rule{background:var(--hairline);height:1px}.agenda-day-count{color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font:10px/1 IBM Plex Mono,monospace}.agenda-items{flex-direction:column;gap:2px;padding-left:70px;display:flex}.agenda-item{appearance:none;font:inherit;cursor:pointer;text-align:left;color:var(--ink);background:0 0;border:0;border-radius:5px;grid-template-columns:110px 10px 1fr auto auto auto;align-items:center;gap:14px;padding:8px 10px;display:grid}.agenda-item:hover{background:var(--hover)}.agenda-time{color:var(--ink-2);font:11px/1 IBM Plex Mono,monospace}.agenda-cat{border-radius:50%;width:10px;height:10px}.agenda-title{font-size:13px;font-weight:500}.agenda-cat-label{text-transform:uppercase;letter-spacing:.06em;background:var(--surface-2);border-radius:3px;padding:3px 6px;font:10px/1 IBM Plex Mono,monospace}.agenda-loc{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:11px;overflow:hidden}.timeline{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex}.timeline-scroll{flex:1;overflow:auto}.timeline-head{z-index:5;background:var(--surface-2);border-bottom:1px solid var(--border);display:flex;position:sticky;top:0}.tl-head-cell{border-right:1px solid var(--hairline);flex-direction:column;flex-shrink:0;align-items:center;min-height:48px;padding:4px 4px 6px;display:flex;position:relative}.tl-head-cell.is-weekend{background:var(--weekend-tint)}.tl-head-cell.is-today{background:var(--today-bg)}.tl-month-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);font:700 9px/1 IBM Plex Mono,monospace;position:absolute;top:2px;left:5px}.tl-dow{color:var(--ink-3);text-transform:uppercase;margin-top:12px;font-size:9px}.tl-num{margin-top:2px;font:500 11px/1 IBM Plex Mono,monospace}.tl-head-cell.is-today .tl-num{color:var(--accent);font-weight:700}.timeline-body{position:relative}.timeline-grid{z-index:0;display:flex;position:absolute;inset:0}.tl-grid-col{border-right:1px solid var(--hairline);flex-shrink:0;height:100%}.tl-grid-col.is-weekend{background:var(--weekend-tint)}.tl-grid-col.is-today{background:var(--today-bg);opacity:.6}.tl-swimlane{border-bottom:1px solid var(--hairline);z-index:1;position:relative}.tl-lane-label{z-index:4;background:var(--surface);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);border-radius:4px;align-items:center;gap:6px;width:max-content;margin:4px 0 0 4px;padding:4px 10px;font-size:10px;font-weight:600;display:inline-flex;position:sticky;left:0;box-shadow:0 1px 2px #0001}.tl-bar{appearance:none;font:inherit;cursor:pointer;text-align:left;border:0;border-radius:3px;align-items:center;gap:8px;padding:0 8px;display:inline-flex;position:absolute;overflow:hidden}.tl-bar:hover{filter:brightness(.97)}.tl-bar-title{white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:500;overflow:hidden}.tl-bar-meta{opacity:.7;flex-shrink:0;font:10px/1 IBM Plex Mono,monospace}.year{background:var(--surface);flex:1;grid-template-columns:repeat(4,1fr);gap:24px;padding:28px 32px;display:grid;overflow-y:auto}.year-month{flex-direction:column;gap:8px;display:flex}.year-month-head{appearance:none;font:inherit;cursor:pointer;color:var(--ink);border:0;border-bottom:1px solid var(--hairline);background:0 0;align-items:center;gap:6px;padding:0 0 6px;font-size:13px;font-weight:600;display:flex}.year-month-head:hover{color:var(--accent)}.year-month-dows{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.year-month-dows span{text-align:center;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;font:600 9px/1 IBM Plex Mono,monospace}.year-month-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.year-cell{appearance:none;font:inherit;cursor:pointer;aspect-ratio:1;color:var(--ink-2);background:0 0;border:0;border-radius:4px;flex-direction:column;justify-content:center;align-items:center;padding:2px;font-size:10.5px;display:flex;position:relative}.year-cell:hover{background:var(--hover)}.year-cell.is-out{color:var(--ink-4)}.year-cell.is-today{background:var(--accent);color:#fff;font-weight:700}.year-cell-n{letter-spacing:-.02em;font-family:IBM Plex Mono,monospace}.year-cell-dots{gap:1.5px;display:flex;position:absolute;bottom:3px}.year-cell-dots span{border-radius:50%;width:3px;height:3px}.year-cell.is-today .year-cell-dots span{background:#fff!important}.details{background:var(--surface);width:380px;box-shadow:var(--shadow-pop);z-index:50;border-radius:10px;flex-direction:column;animation:.18s ease-out slideIn;display:flex;position:fixed;top:16px;bottom:16px;right:16px;overflow:hidden}@keyframes slideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.details-head{justify-content:space-between;align-items:center;padding:14px 14px 8px;display:flex}.details-cat{text-transform:uppercase;letter-spacing:.08em;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.details-actions{gap:2px;display:flex}.details-title{letter-spacing:-.02em;margin:0;padding:0 18px 14px;font-size:22px;font-weight:600;line-height:1.2}.details-facts{border-top:1px solid var(--hairline);flex:1;align-content:start;margin:0;padding:16px 18px 4px;list-style:none;overflow-y:auto}.details-fact{border-bottom:1px solid var(--hairline);grid-template-columns:22px 1fr;gap:12px;padding:10px 0;display:grid}.details-fact:last-child{border-bottom:0}.details-fact-icon{width:22px;height:22px;color:var(--ink-3);justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.details-fact-body{min-width:0}.details-fact-main{color:var(--ink);font-size:13px;line-height:1.4}.details-fact-main.is-empty{color:var(--ink-3)}.details-fact-sub{color:var(--ink-2);letter-spacing:0;margin-top:3px;font-size:12px}.details-fact-chip{color:var(--ink-2);background:var(--surface-2);letter-spacing:.04em;text-transform:uppercase;border-radius:4px;align-items:center;gap:5px;margin-top:8px;padding:3px 8px;font:10px/1.4 IBM Plex Mono,monospace;display:inline-flex}.details-fact-notes{white-space:pre-wrap;color:var(--ink-2);font-size:13px;line-height:1.5}.details-foot{border-top:1px solid var(--hairline);background:var(--surface-2);gap:6px;padding:12px 18px;display:flex}.hover-card{background:var(--surface);width:260px;box-shadow:var(--shadow-pop);z-index:200;pointer-events:none;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px 12px;font-size:12px;display:flex;position:fixed}.hover-cat{letter-spacing:.08em;align-items:center;gap:5px;width:max-content;font-size:9.5px;font-weight:700;display:inline-flex}.hover-title{letter-spacing:-.01em;margin:2px 0 4px;font-size:13.5px;font-weight:600;line-height:1.2}.hover-meta{color:var(--ink-2);align-items:center;gap:6px;font-size:11px;display:flex}.hover-meta span:first-of-type{letter-spacing:-.01em;font-family:IBM Plex Mono,monospace}.hover-rep{letter-spacing:.08em;background:var(--surface-2);color:var(--ink-3);border-radius:3px;margin-left:auto;padding:1px 4px;font-size:9px}.hover-conflict{color:oklch(40% .14 32);letter-spacing:.04em;text-transform:uppercase;background:oklch(95% .05 32);border-radius:4px;align-items:center;gap:5px;margin-top:6px;padding:4px 6px;font-size:10.5px;font-weight:600;display:inline-flex}.theme-dark .hover-conflict{color:oklch(86% .1 32);background:oklch(30% .08 32)}.hover-notes{color:var(--ink-2);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:4px;font-size:11.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.more-pop-backdrop{z-index:100;background:#0003;place-items:center;display:grid;position:fixed;inset:0}.more-pop{background:var(--surface);width:360px;max-height:60vh;box-shadow:var(--shadow-pop);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.more-pop-head{border-bottom:1px solid var(--hairline);align-items:center;gap:8px;padding:12px 14px;display:flex}.more-pop-dow{color:var(--ink-3);letter-spacing:.08em;font:10px/1 IBM Plex Mono,monospace}.more-pop-num{letter-spacing:-.03em;font:600 22px/1 IBM Plex Mono,monospace}.more-pop-mo{color:var(--ink-2);margin-right:auto;font-size:12px;font-weight:500}.more-pop-list{flex:1;padding:6px;overflow-y:auto}.more-pop-item{appearance:none;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:80px 8px 1fr;align-items:center;gap:10px;width:100%;padding:8px 10px;display:grid}.more-pop-item:hover{background:var(--hover)}.more-pop-time{color:var(--ink-2);font:11px/1 IBM Plex Mono,monospace}.more-pop-title{font-size:12.5px}.modal-backdrop{z-index:150;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;place-items:center;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:560px;max-width:92vw;max-height:90vh;box-shadow:var(--shadow-pop);border-radius:12px;flex-direction:column;display:flex;overflow:hidden}.modal-head{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-head h3{margin:0;font-size:14px;font-weight:600}.modal-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--hairline);background:var(--surface-2);align-items:center;gap:8px;padding:12px 16px;display:flex}.modal-title-input{appearance:none;font:inherit;letter-spacing:-.02em;border:0;border-bottom:1.5px solid var(--hairline);color:var(--ink);background:0 0;outline:none;padding:4px 0;font-size:22px;font-weight:600}.modal-title-input:focus{border-color:var(--accent)}.modal-row{flex-direction:column;gap:6px;display:flex}.modal-row-split{grid-template-columns:1fr 1fr;gap:14px;display:grid}.modal-row-split .modal-row{gap:6px}.modal-label,.modal-label-row{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;font-size:10.5px;font-weight:600}.modal-label-row{justify-content:space-between;align-items:center;display:flex}.modal-input{appearance:none;border:1px solid var(--border-2);background:var(--surface);font:inherit;color:var(--ink);border-radius:6px;outline:none;width:100%;padding:7px 10px;font-size:12.5px}.modal-input:focus{border-color:var(--accent)}.modal-input.mono{font-family:IBM Plex Mono,monospace}.time-pick{border:1px solid var(--border-2);background:var(--surface);border-radius:6px;align-items:center;gap:4px;padding:5px 8px;display:flex}.time-pick select{appearance:none;font:inherit;color:var(--ink);background:0 0;border:0;outline:none;padding:2px;font-family:IBM Plex Mono,monospace;font-size:12.5px}.modal-wide{width:760px}.import-seg{align-self:flex-start}.import-drop{border:1.5px dashed var(--border-2);color:var(--ink-3);cursor:pointer;text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:8px;padding:28px;font-size:12.5px;display:flex}.import-drop:hover{border-color:var(--accent);color:var(--ink-2)}.import-preview{border:1px solid var(--hairline);border-radius:8px;max-height:46vh;overflow-y:auto}.import-table{border-collapse:collapse;width:100%;font-size:12px}.import-table th{text-align:left;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--hairline);background:var(--surface-2);padding:7px 10px;font-size:10px;font-weight:600;position:sticky;top:0}.import-table td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:6px 10px}.import-table tr:last-child td{border-bottom:0}.import-table tr.is-skipped{opacity:.5}.import-table tr.is-error{background:oklch(96% .04 28/.5)}.import-title-input{appearance:none;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:4px;outline:none;width:100%;padding:4px 6px;font-size:12px}.import-title-input:hover{border-color:var(--border-2)}.import-title-input:focus{border-color:var(--accent);background:var(--surface)}.import-when{color:var(--ink-2);white-space:nowrap;font-size:11px}.import-rrule{color:var(--ink-3)}.import-cat{align-items:center;gap:5px;display:inline-flex}.import-cat select{appearance:none;border:1px solid var(--border-2);background:var(--surface);font:inherit;color:var(--ink);border-radius:4px;outline:none;padding:3px 6px;font-size:11.5px}.import-status{white-space:nowrap}.import-badge{letter-spacing:.05em;text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:9.5px;font-weight:600;display:inline-block}.import-badge.is-ok{background:var(--surface-2);color:var(--ink-3)}.import-badge.is-warn{color:oklch(40% .12 70);background:oklch(95% .05 85)}.import-badge.is-error{color:oklch(45% .16 28);background:oklch(95% .05 28)}.import-count{color:var(--ink-3);font-size:11px}.cat-chips{flex-wrap:wrap;gap:5px;display:flex}.cat-chip{appearance:none;border:1px solid var(--border-2);background:var(--surface);font:inherit;color:var(--ink-2);cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:4px 9px;font-size:11.5px;display:inline-flex}.cat-chip:hover{color:var(--ink)}.cat-chip.is-active{background:var(--surface-2);border-color:var(--ink-3);color:var(--ink)}.toggle{appearance:none;border:1px solid var(--border-2);background:var(--surface);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 10px 5px 6px;font-size:12px;display:inline-flex}.toggle-track{background:var(--surface-3);border-radius:999px;width:24px;height:14px;display:inline-block;position:relative}.toggle-thumb{background:var(--surface);border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:1px;left:1px;box-shadow:0 1px 2px #0003}.toggle.is-on .toggle-track{background:var(--accent)}.toggle.is-on .toggle-thumb{transform:translate(10px)}.finder{background:var(--surface-2);border:1px solid var(--hairline);border-radius:8px;padding:10px 12px 12px}.finder-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.finder-title{color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.finder-key{gap:10px;display:inline-flex}.finder-key-item{color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:4px;font-size:10px;display:inline-flex}.finder-key-swatch{border-radius:3px;width:10px;height:10px;display:inline-block}.sw-free{background:oklch(90% .06 150)}.sw-busy{background:oklch(85% .08 28)}.theme-dark .sw-free{background:oklch(50% .1 150)}.theme-dark .sw-busy{background:oklch(50% .12 28)}.finder-grid{grid-template-columns:repeat(11,1fr);gap:2px;display:grid}.finder-slot{appearance:none;font:inherit;cursor:pointer;color:var(--ink);border:0;border-radius:3px;place-items:center;padding:6px 2px;font:10px IBM Plex Mono,monospace;display:grid}.finder-slot:hover{outline:2px solid var(--accent);outline-offset:-1px;z-index:2}.finder-time{font-size:9.5px}::selection{background:var(--accent-soft);color:var(--accent)}.sidebar::-webkit-scrollbar{width:8px;height:8px}.week-body-scroll::-webkit-scrollbar{width:8px;height:8px}.agenda::-webkit-scrollbar{width:8px;height:8px}.year::-webkit-scrollbar{width:8px;height:8px}.timeline-scroll::-webkit-scrollbar{width:8px;height:8px}.details-facts::-webkit-scrollbar{width:8px;height:8px}.sidebar::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.week-body-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.agenda::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.year::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.timeline-scroll::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.details-facts::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:4px}.sidebar::-webkit-scrollbar-track{background:0 0}.week-body-scroll::-webkit-scrollbar-track{background:0 0}.agenda::-webkit-scrollbar-track{background:0 0}.year::-webkit-scrollbar-track{background:0 0}.timeline-scroll::-webkit-scrollbar-track{background:0 0}.details-facts::-webkit-scrollbar-track{background:0 0}.coming-up{flex-direction:column;gap:8px;padding:0 2px;display:flex}.coming-up-empty{color:var(--ink-3);letter-spacing:.04em;padding:8px 6px;font-size:10px}.coming-up-group{flex-direction:column;gap:1px;display:flex}.coming-up-head{justify-content:space-between;align-items:baseline;padding:2px 4px;display:flex}.coming-up-rel{color:var(--accent);letter-spacing:.1em;font-size:9.5px;font-weight:700}.coming-up-date{color:var(--ink-3);letter-spacing:.04em;font-size:9.5px}.coming-up ul{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.coming-up-item{appearance:none;font:inherit;cursor:pointer;text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:4px;grid-template-columns:36px 6px 1fr auto;align-items:center;gap:7px;padding:4px 6px;display:grid}.coming-up-item:hover{background:var(--hover)}.coming-up-time{color:var(--ink-3);text-align:right;font-size:9.5px}.coming-up-title{text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.event-warn{color:oklch(55% .18 32);flex-shrink:0}.theme-dark .event-warn{color:oklch(78% .14 32)}.month-event.has-conflict{background:oklch(99% .02 32);box-shadow:inset 0 0 0 1px oklch(85% .08 32)}.theme-dark .month-event.has-conflict{background:oklch(27% .04 32);box-shadow:inset 0 0 0 1px oklch(40% .1 32)}.week-event.has-conflict{outline-offset:-1.5px;outline:1.5px solid oklch(65% .15 32)}.tl-bar.has-conflict{box-shadow:inset 0 0 0 1.5px oklch(65% .15 32)}.cell-conflict-badge{color:oklch(40% .14 32);letter-spacing:.04em;background:oklch(95% .05 32);border-radius:3px;align-items:center;gap:2px;padding:1px 4px 1px 3px;font-size:9px;font-weight:700;display:inline-flex}.theme-dark .cell-conflict-badge{color:oklch(86% .1 32);background:oklch(30% .07 32)}.agenda-item.has-conflict{background:oklch(99% .015 32)}.theme-dark .agenda-item.has-conflict{background:oklch(22% .02 32)}.agenda-rep{color:var(--ink-3);margin-left:4px}.agenda-conflict{letter-spacing:.06em;color:oklch(45% .15 32);background:oklch(95% .05 32);border-radius:3px;align-items:center;gap:3px;padding:2px 6px;font-size:9.5px;font-weight:700;display:inline-flex}.theme-dark .agenda-conflict{color:oklch(86% .1 32);background:oklch(30% .07 32)}.agenda-item{grid-template-columns:110px 10px 1fr auto auto auto!important}.week-event-title,.tl-bar-title{align-items:center;gap:4px;display:inline-flex}.conflict-banner{color:oklch(36% .14 32);background:oklch(97% .04 32);border:1px solid oklch(86% .08 32);border-radius:8px;gap:10px;margin:0 18px 14px;padding:10px 12px;display:flex}.conflict-banner.is-inline{margin:0}.theme-dark .conflict-banner{color:oklch(86% .1 32);background:oklch(28% .05 32);border-color:oklch(42% .1 32)}.conflict-banner>svg:first-child{flex-shrink:0;margin-top:2px}.conflict-banner-body{flex:1;min-width:0}.conflict-banner-head{letter-spacing:.06em;margin-bottom:6px;font-size:10px;font-weight:700}.conflict-banner ul{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.conflict-banner li button,.conflict-banner li{appearance:none;font:inherit;text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;grid-template-columns:7px 70px 1fr;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:grid}.conflict-banner li button:hover{color:oklch(30% .16 32)}.conflict-time{opacity:.85;font-size:10.5px}.conflict-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recur{background:var(--surface-2);border:1px solid var(--hairline);border-radius:8px;flex-direction:column;gap:10px;padding:10px 12px;display:flex}.recur-presets{flex-wrap:wrap;gap:5px;display:flex}.recur-custom{background:var(--surface);border:1px solid var(--hairline);border-radius:6px;flex-direction:column;gap:8px;padding:8px 10px;display:flex}.recur-row{align-items:center;gap:8px;display:flex}.recur-row .modal-label{min-width:36px;padding:0}.recur-num{text-align:center;width:60px}.recur-dow{gap:4px;display:flex}.dow-pill{appearance:none;border:1px solid var(--border-2);background:var(--surface);font:inherit;cursor:pointer;width:32px;height:26px;color:var(--ink-3);border-radius:5px;font-size:11px;font-weight:600}.dow-pill.is-on{background:var(--accent);color:#fff;border-color:var(--accent)}.dow-pill:hover:not(.is-on){color:var(--ink);background:var(--hover)}.recur-hint{color:var(--ink-3);font-size:10px}.finder-tabs{gap:12px;display:flex}.finder-tabs .link-btn.is-on{color:var(--accent)}.finder-slot.is-current{outline:2px solid var(--accent);outline-offset:-1px}.finder-slot.sw-busy{opacity:.55}.finder-slot.sw-busy:hover{opacity:.9}.suggest-list{flex-direction:column;gap:2px;display:flex}.suggest-row{appearance:none;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;grid-template-columns:36px 30px 36px 1fr 90px;align-items:center;gap:10px;padding:6px 8px;display:grid}.suggest-row:hover{background:var(--hover)}.suggest-dow{color:var(--accent);letter-spacing:.08em;font-size:10px;font-weight:700}.suggest-num{letter-spacing:-.03em;font-size:16px;font-weight:500}.suggest-mo{color:var(--ink-3);font-size:11px}.suggest-bar{background:var(--surface-3);border-radius:3px;height:6px;position:relative;overflow:hidden}.suggest-bar-fill{background:linear-gradient(90deg,oklch(78% .12 145),oklch(75% .13 70),oklch(70% .16 32));border-radius:3px;position:absolute;top:0;bottom:0;left:0}.suggest-count{color:var(--ink-3);text-align:right;font-size:10px}.gate-screen{background:var(--bg);grid-template-columns:1fr;place-items:center}.gate-card{background:var(--surface);border:1px solid var(--border);width:380px;max-width:92vw;box-shadow:var(--shadow-card);border-radius:14px;flex-direction:column;gap:14px;padding:28px 28px 24px;display:flex}.gate-brand{align-items:center;gap:10px;display:flex}.gate-lead{color:var(--ink-2);margin:0;font-size:13px;line-height:1.5}.gate-form{flex-direction:column;gap:8px;display:flex}.gate-submit{justify-content:center;padding:9px}.gate-divider{text-align:center;color:var(--ink-3);text-transform:uppercase;letter-spacing:.1em;align-items:center;gap:10px;font-size:10px;display:flex}.gate-divider:before,.gate-divider:after{content:"";background:var(--hairline);flex:1;height:1px}.gate-google{justify-content:center;padding:9px}.gate-error{color:oklch(50% .16 28);text-align:center;font-size:11px}.gate-icon-badge{width:48px;height:48px;color:var(--accent);background:var(--accent-soft);border-radius:12px;align-self:center;place-items:center;display:grid}.gate-pending-email{text-align:center;color:var(--ink-2);background:var(--surface-2);border-radius:6px;padding:6px;font-size:11px}.gate-loading{color:var(--ink-3);padding:24px}.twk-fab{z-index:60;border:1px solid var(--border);background:var(--surface);width:38px;height:38px;color:var(--ink-2);cursor:pointer;box-shadow:var(--shadow-card);border-radius:10px;place-items:center;display:grid;position:fixed;bottom:16px;right:16px}.twk-fab:hover{color:var(--ink)}.twk-panel{z-index:60;background:var(--surface);border:1px solid var(--border);width:268px;box-shadow:var(--shadow-pop);border-radius:12px;position:fixed;bottom:16px;right:16px;overflow:hidden}.twk-hd{border-bottom:1px solid var(--hairline);justify-content:space-between;align-items:center;padding:10px 8px 10px 14px;display:flex}.twk-hd b{font-size:12px}.twk-body{flex-direction:column;gap:10px;padding:10px 14px 14px;display:flex}.twk-section{color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em;margin-top:4px;font-size:10px;font-weight:600}.twk-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.twk-label{color:var(--ink-2);font-size:12px}.twk-seg{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;gap:1px;padding:2px;display:flex}.twk-seg-item{appearance:none;font:inherit;cursor:pointer;text-transform:capitalize;color:var(--ink-2);background:0 0;border:0;border-radius:5px;padding:3px 7px;font-size:10.5px}.twk-seg-item.is-active{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border)}.twk-swatches{gap:5px;display:flex}.twk-swatch{cursor:pointer;border:2px solid #0000;border-radius:6px;width:20px;height:20px}.twk-swatch.is-active{border-color:var(--ink)}.twk-select{appearance:none;border:1px solid var(--border-2);background:var(--surface);font:inherit;color:var(--ink);border-radius:6px;padding:4px 8px;font-size:12px}.access-modal{width:520px}.access-empty{color:var(--ink-3);padding:6px 2px;font-size:11px}.access-add{align-items:center;gap:8px;display:flex}.access-add .modal-input{flex:1}.access-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.access-row{border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink-2);border-radius:7px;align-items:center;gap:10px;padding:8px 10px;display:flex}.access-email{color:var(--ink);text-overflow:ellipsis;flex:1;font-size:12.5px;overflow:hidden}.access-tag{letter-spacing:.08em;color:var(--ink-3);background:var(--surface-3);border-radius:3px;padding:2px 6px;font-size:9.5px;font-weight:700}.gcal-feed-list{border:1px solid var(--hairline);background:var(--surface-2);border-radius:7px;flex-direction:column;margin:0 0 8px;padding:0;list-style:none;display:flex}.gcal-feed-row{border-bottom:1px solid var(--hairline);align-items:flex-start;gap:10px;padding:10px;display:flex}.gcal-feed-row:last-child{border-bottom:none}.gcal-feed-main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.gcal-feed-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gcal-feed-label{color:var(--ink);text-overflow:ellipsis;font-size:13px;overflow:hidden}.gcal-feed-edit{color:var(--ink-3);padding:2px}.gcal-feed-label-input{flex:1;min-width:0;font-size:13px}.gcal-meta{color:var(--ink-3);font-size:11px}.gcal-pill{letter-spacing:.08em;color:oklch(38% .13 150);background:oklch(95% .06 150);border-radius:999px;align-items:center;gap:4px;padding:2px 7px;font-size:9.5px;font-weight:700;display:inline-flex}.gcal-actions{flex-wrap:wrap;gap:6px;display:flex}.gcal-confirm{background:var(--surface-3);border-radius:6px;flex-direction:column;gap:6px;margin-top:4px;padding:8px;display:flex}.gcal-confirm-text{color:var(--ink-2);font-size:11px}.gcal-add{border:1px dashed var(--hairline);border-radius:7px;flex-direction:column;gap:6px;padding:10px;display:flex}.gcal-add .modal-input{width:100%}.gcal-add-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.gcal-add-row .twk-select{flex:1;min-width:0}.gcal-hint{color:var(--ink-3)}.gcal-pill.is-orphan{color:oklch(40% .14 28);background:oklch(95% .06 28)}.cat-edit-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.cat-edit-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cat-edit-row .modal-input{font-size:13px}.sidebar-wrap{display:contents}.sidebar-backdrop{display:none}@media (width<=720px){body{overflow:auto}.app,.app.view-month,.app.view-year{grid-template-columns:1fr}.sidebar-wrap{z-index:30;width:280px;max-width:86vw;height:100vh;box-shadow:0 0 0 1px var(--border);transition:transform .18s;display:block;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar-wrap.open{transform:translate(0)}.sidebar-wrap>.sidebar{height:100%}.sidebar-backdrop{z-index:29;background:#0006;display:block;position:fixed;inset:0}.main{border-left:0}.topbar{grid-template-columns:1fr;gap:8px;min-height:0;padding:8px 10px}.topbar-left{flex-wrap:wrap;gap:8px}.topbar-mid,.topbar-right{justify-content:flex-start}.topbar-title{font-size:15px}.search{flex:auto}.search .kbd{display:none}}@media (width<=480px){.seg-item span{display:none}.seg-item{padding:6px 8px}.today-btn span{display:none}.today-btn{padding:5px 7px}}
