.jn-week .jn-wk-scroll{overscroll-behavior-x:contain;border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);background:var(--bg-primary);-webkit-overflow-scrolling:touch;flex:1 1 0;min-width:0;min-height:0;position:relative;overflow:auto}.jn-wk-canvas{min-height:100%;position:relative}.jn-wk-head{z-index:6;background:var(--bg-primary);border-bottom:1px solid var(--border);align-items:stretch;display:flex;position:sticky;top:0}.jn-wk-corner{z-index:7;flex:0 0 var(--jn-wk-gutter,44px);width:var(--jn-wk-gutter,44px);box-sizing:border-box;color:var(--text-muted);background:var(--bg-primary);border-right:1px solid var(--border);justify-content:center;align-items:flex-end;padding-bottom:.3rem;font-size:.62rem;display:flex;position:sticky;left:0}.jn-wk-head-cols{flex:none;min-width:0;position:relative}.jn-wk-days,.jn-wk-singles{display:flex}.jn-wk-day{flex:0 0 var(--jn-wk-col);width:var(--jn-wk-col);box-sizing:border-box;border:none;border-left:1px solid color-mix(in srgb, var(--border) 55%, transparent);color:var(--text-main);cursor:pointer;font:inherit;background:0 0;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem 0 .2rem;display:flex}.jn-wk-day span{color:var(--text-muted);font-size:.62rem;line-height:1}.jn-wk-day strong{font-variant-numeric:tabular-nums;border-radius:999px;place-items:center;min-width:1.6rem;height:1.6rem;font-size:.92rem;font-weight:600;display:inline-grid}.jn-wk-day:hover strong{background:color-mix(in srgb, var(--text-main) 7%, transparent)}.jn-wk-day.is-month-start span{color:var(--text-main);font-weight:600}.jn-wk-day.is-sel{background:color-mix(in srgb, var(--text-main) 5%, transparent)}.jn-wk-day.is-today strong,.jn-wk-day.is-today:hover strong{background:var(--text-main);color:var(--bg-primary)}.jn-wk-spans{position:relative}.jn-wk-span{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--jn-event,var(--accent)) 30%, transparent);border-left:3px solid var(--jn-event,var(--accent));background:color-mix(in srgb, var(--jn-event,var(--accent)) 14%, var(--bg-card,var(--bg-primary)));height:20px;color:var(--text-main);font:inherit;text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:5px;padding:0 .4rem;font-size:.68rem;line-height:18px;position:absolute;overflow:hidden}.jn-wk-span.is-sync{--jn-event:var(--cal-sync-ink)}.jn-wk-span.is-on{box-shadow:inset 0 0 0 1.5px var(--text-main)}.jn-wk-single-cell{flex:0 0 var(--jn-wk-col);width:var(--jn-wk-col);box-sizing:border-box;border-left:1px solid color-mix(in srgb, var(--border) 55%, transparent);flex-direction:column;gap:2px;min-height:1.35rem;padding:2px 3px 3px;display:flex;overflow:hidden}.jn-wk-single-cell.is-sel{background:color-mix(in srgb, var(--text-main) 5%, transparent)}.jn-wk-single-cell .jn-tl-chip{white-space:nowrap;text-overflow:ellipsis;text-align:left;min-width:0;max-width:100%;padding:.05rem .3rem;font-size:.68rem;overflow:hidden}.jn-wk-add-allday{align-self:flex-start;padding:0 .3rem;font-size:.75rem}.jn-wk-body{align-items:stretch;display:flex}.jn-wk-gutter{z-index:4;flex:0 0 var(--jn-wk-gutter,44px);width:var(--jn-wk-gutter,44px);box-sizing:border-box;background:var(--bg-primary);border-right:1px solid var(--border);position:sticky;left:0}.jn-wk-hour{color:var(--text-muted);font-variant-numeric:tabular-nums;pointer-events:none;font-size:.6rem;line-height:1;position:absolute;right:6px;transform:translateY(-50%)}.jn-wk-hour.is-first{transform:translateY(2px)}.jn-wk-cols{background-image:repeating-linear-gradient(to bottom, color-mix(in srgb, var(--border) 60%, transparent) 0, color-mix(in srgb, var(--border) 60%, transparent) 1px, transparent 1px, transparent var(--jn-wk-hour,44px));flex:none;height:100%;position:relative}.jn-wk-col{width:var(--jn-wk-col);box-sizing:border-box;border-left:1px solid color-mix(in srgb, var(--border) 55%, transparent);touch-action:pan-x pan-y;position:absolute;top:0;bottom:0}.jn-wk-col.is-today{background:color-mix(in srgb, var(--text-main) 3%, transparent)}.jn-wk-col.is-sel{background:color-mix(in srgb, var(--text-main) 5%, transparent)}.jn-week.is-editing .jn-wk-col{touch-action:none;cursor:crosshair}.jn-wk-now{background:var(--cal-now);z-index:3;pointer-events:none;height:2px;margin-top:-1px;position:absolute;left:0;right:0}.jn-wk-now:before{content:"";background:var(--cal-now);border-radius:999px;width:8px;height:8px;position:absolute;top:-3px;left:-4px}.jn-wk-event{z-index:2;box-sizing:border-box;border:1px solid color-mix(in srgb, var(--jn-event,var(--accent)) 28%, transparent);border-left:3px solid var(--jn-event,var(--accent));background:color-mix(in srgb, var(--jn-event,var(--accent)) 14%, var(--bg-card,var(--bg-primary)));color:var(--text-main);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;flex-direction:column;gap:1px;padding:2px 5px;font-size:.7rem;line-height:1.25;transition:box-shadow .15s;display:flex;position:absolute;overflow:hidden}.jn-wk-event strong{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.jn-wk-event span:not(.jn-wk-handle){color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.62rem;overflow:hidden}.jn-wk-event.is-short{flex-direction:row;align-items:center;gap:4px;padding-top:0;padding-bottom:0}.jn-wk-event:hover{box-shadow:var(--shadow-sm)}.jn-wk-event.is-sync{--jn-event:var(--cal-sync-ink)}.jn-wk-event.is-on{box-shadow:inset 0 0 0 1.5px var(--text-main)}.jn-wk-event.is-gesture{z-index:5;opacity:.95;box-shadow:var(--shadow-md)}.jn-wk-event.is-editable{touch-action:none}.jn-wk-event.is-draft{z-index:4;background:color-mix(in srgb, var(--accent) 16%, transparent);pointer-events:none;border-style:dashed}.jn-wk-handle{cursor:ns-resize;touch-action:none;z-index:1;height:8px;position:absolute;left:0;right:0}@media (hover:none) and (pointer:coarse){.jn-week.is-editing .jn-wk-col,.jn-wk-event.is-editable{touch-action:pan-x pan-y}.jn-week .jn-wk-scroll{scrollbar-width:none}.jn-week .jn-wk-scroll::-webkit-scrollbar{display:none}}.jn-wk-handle.is-start{top:-2px}.jn-wk-handle.is-end{bottom:-2px}.jn-wk-handle:after{content:"";background:color-mix(in srgb, var(--text-main) 40%, transparent);border-radius:2px;width:16px;height:2px;margin-left:-8px;position:absolute;top:3px;left:50%}.jn-week .jn-wk-scroll{scroll-snap-type:x proximity;scroll-padding-left:var(--jn-wk-gutter,44px)}.jn-week .jn-wk-day{scroll-snap-align:start}.jn-wk-empty-hint{color:var(--text-muted);text-align:center;overflow-wrap:anywhere;pointer-events:none;-webkit-user-select:none;user-select:none;margin:0;padding:4px 0;font-size:.75rem;line-height:1.4;position:absolute;left:8px;right:8px}@media (max-width:1100px){.app-main:has(.jn-page .jn-week){flex-direction:column;display:flex;overflow:clip hidden}.mobile-shell>.app-main:has(.jn-page .jn-week){padding-bottom:var(--mobile-bottom-reserve)!important}:is(.app-main:has(.jn-page .jn-week):not(.app-main--doc) .note-tabs-shell,.app-main:has(.jn-page .jn-week):not(.app-main--doc) .note-tabs-main){flex-direction:column;flex:1;height:auto;min-height:0;display:flex;overflow:hidden}.jn-page:has(.jn-week){flex:1 1 0;height:auto;min-height:0;overflow:hidden}.jn-page:has(.jn-week) .jn-main{flex:1 1 0;height:auto;min-height:0;overflow:hidden}.jn-page:has(.jn-week) .jn-layout{flex:1 1 0;height:auto;min-height:0;overflow:hidden}.jn-page:has(.jn-week) .jn-center{flex:1 1 0;height:auto;min-height:0;overflow:hidden}.jn-page:has(.jn-week) .jn-schedule-panel{flex:1 1 0;height:auto;min-height:0;overflow:hidden}.jn-page:has(.jn-week) .jn-week{flex:1 1 0;height:auto;min-height:0;overflow:hidden}}
